원하는대로

관심분야에 대해 원하는 모든 것을 발행하는 곳

미정 자세히보기

공부 스걱스걱/코딩테스트 14

[python3] 프로그래머스_숫자 문자열과 영단어

def solution(s): answer = '' dic = { 'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4', 'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9' } temp = '' for word in s: if word.isdigit(): answer += word else: temp += word if temp in dic: answer += dic[temp] temp = '' return int(answer) 풀긴 풀었으나 역시 다른 사람들의 풀이를 보니 아쉽다. for key, value in nums.items(): s = s.replace(key,value)..

[python3] 프로그래머스_전화번호 목록

해시 문제라길래 해시로 풀려고 엄청 고민했다. 효율성 3, 4번이 계속 실패해서 5시간 넘게 고민해본 문제. 결국 질문하기에 올라온 설명보고 성공했다. 효율성을 좀 더 고려하면서 풀수 있도록 해봐야겠다. def solution(phone_book): answer = True phone_nums = sorted(phone_book) for i in range(1, len(phone_nums)): prev_num = phone_nums[i-1] current_num = phone_nums[i] if(current_num.startswith(prev_num)): return False return answer

[python3]프로그래머스_신규 아이디 추천

정규식 찾아보느라 좀 오래 걸렸다. 이 문제를 풀면서 정규식에 대한 이해를 조금이나마 더 하게 되었다. import re def solution(new_id): answer = '' new_id = new_id.lower() new_id = re.sub('[^a-z0-9-_.]', '', new_id) new_id = re.sub('[.]{1,}', '.', new_id).strip('.') if not new_id : new_id = "a" if len(new_id) >= 16 : new_id = new_id[:15].rstrip('.') if len(new_id)