[프로그래머스] 멀리뛰기
programmers.co.kr/learn/courses/30/lessons/12914 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr def solution(n): dp=[0]*(n+1) if n==1: return 1 dp[0]=0 dp[1]=1 dp[2]=2 for i in range(3,n+1): dp[i]=(dp[i-2]+dp[i-1])%1234567 return dp[n]
2021. 5. 10.
[프로그래머스] 보석 쇼핑
programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 효율성 실패 def solution(gems): # 이진탐색으로 몇개를 확인할지부터 찾자 # 1. x개를 탐색했는데 찾았다. -> 찾는 갯수를 줄여 # 2. x개를 탐색했는데 못찾았다. -> 찾는 갯수를 늘려 # 찾을 때마다 [찾는 갯수, [찾은 갯수의 시작 진열대 번호, 끝 진열대 번호]] # 진열대 번호를 적는거는 맨 처음 것만 ans=[] start=0 end=len(gems) count_gems=len(set(gems..
2021. 5. 9.
[프로그래머스] 순위
programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 어떻게 풀어야할지 생각을 많이 해야했던 문제..ㅠ def solution(n, results): answer=0 win={x:set() for x in range(n+1)} lose={x:set() for x in range(n+1)} for result in results: win[result[0]].add(result[1]) lose[result[1]].add(result[0]) for i in range(1, n+1): # i를 이긴 사람들 -> i가 이긴 사람들한테도 이길거야..
2021. 5. 3.