본문 바로가기
반응형

코딩테스트65

[프로그래머스] 대충 만든 자판 Python 풀이 오늘은 프로그래머스 최신 문제들을 다뤄보려고 한다. 먼저 대충 만든 자판이다. 문제 구현 반복문을 각각 사용해서 문제 그대로를 구현할 수 있다. 타겟 문자열을 돌고 타겟 알파벳을 보고 keymap에서 찾는 방식으로 먼저 구현해 보겠다. 코드 def solution(keymap, targets): answer = [] for t in targets: #타겟 문자열 cntsum=0 for c in t: #타겟문자열의 각 알파벳 flag = False cnt=float('inf') for key in keymap: idx = key.find(c) if idx == -1: continue cnt = min(cnt, idx+1) flag=True if flag: cntsum+=cnt else: answer.app.. 2023. 3. 9.
Python 외계행성의 나이 [코딩테스트 입문 - Day8] 문제 구현 아스키코드 표를 참고해서 각 알파벳을 숫자에 매핑하여 리턴해준다. 코드 def solution(age): answer='' for i in str(age): answer+=chr(ord(i)+49) return answer 아스키코드표를 참고해서 아스키코드(48 : 0)에 49를 더하면 아스키코드(97 : a) 알파벳이 나온다. 다른 풀이 def solution(age): return ''.join([chr(int(i)+97) for i in str(age)]) 숫자 그대로에 97을 더해줘서 알파벳을 리턴해주는 방법도 있다. 2023. 2. 15.
Python 진료 순서 정하기 [코딩테스트 입문 - Day8] 문제 구현 임시 리스트에 내림차순으로 emergency 정렬한 것을 저장한 후 임시 리스트를 돌며 emergency에서 원소를 찾아 인덱스를 찾는다. 코드 def solution(emergency): temp = sorted(emergency, reverse=True) answer = [temp.index(i)+1 for i in emergency] return answer 다른 풀이 위보다 간단하게 푸는 법은 보이지 않지만 약간의 효율성을 더 따진다면 enumerate를 쓴 후 index로 접근하면 된다. def solution(emergency): answer = [] emer_ls = {e: i + 1 for i, e in enumerate(sorted(emergency)[::-1])} for e .. 2023. 2. 15.
Python 배열 자르기 [코딩테스트 입문 - Day8] 문제 구현 slice를 이용해 num1부터 num2+1까지 자른 리스트를 리턴해준다. 코드 def solution(numbers, num1, num2): return numbers[num1:num2+1] 다른 풀이 def solution(numbers, num1, num2): return [numbers[i] for i in range(num1, num2+1)] range와 list comprehension을 이용해서 이렇게 할 수도 있다. 2023. 2. 15.
반응형