목록Algorithm/Programmers (76)
S E P H ' S

코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제풀이 1. 가운데 2,5,8,0에 대해서 왼손, 오른손 중 어떤 것을 선택할지가 가장 중요한 아이디어이다. 2. 편의를 위해 *, # 를 각각 10, 12로 둔다 3. 주어진 numbers 배열을 돌면서 n이 1,4,7에 있으면 왼손, 3,6,9에 있으면 오른손 4. n이 그외의 숫자라면 2,5,8,0 (n이 0 이면 11로, 아니면 n으로) 일때 ..

코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 실제 코테에서 봤었던 문제였다. 당시엔 def sol(s): s = s.replace('zero', '0') s = s.replace('one', '1') s = s.replace('two', '2') s = s.replace('three', '3') s = s.replace('four', '4') s = s.replace('five', '5') s = s.replace('six', '6') s = s.replace('seven', '7') s = s..

코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr def solution(N, stages): answer = [] len_stages = len(stages) for i in range(1, N+1): cnt = stages.count(i) if cnt == 0: fail = 0 else: fail = cnt / len_stages answer.append((i, fail)) len_stages -= cnt answer = sorted(answer, key=lambda x:x[1], reverse=True) ..

코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 둘중 하나가 1이면 벽이 생기는, 즉 비트연산이 핵심이었던 문제였다. or 연산을 통해 문제를 풀었다. def solution(n, arr1, arr2): answer = [] for num1, num2 in zip(arr1, arr2): tmp = bin(num1 | num2)[2:] if len(tmp) < n: tmp = '0'*(n-len(tmp)) + tmp tmp = tmp.replace('1','#') tmp = tmp.replace('0',..