본문 바로가기

코딩 테스트/문제 풀기54

[프로그래머스] 추석 트래픽 programmers.co.kr/learn/courses/30/lessons/17676 2021. 5. 11.
[프로그래머스] 멀리뛰기 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/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr from itertools import permutations def isMatch(user_set, banned_set): for i in range(len(user_set)): if len(user_set[i])!= len(banned_set[i]): return False else: for j in range(len(user_set[i])): if banned_set[i.. 2021. 5. 8.
[프로그래머스] 등굣길 programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 풀이 def solution(m, n, puddles): map=[[0]*(m+1) for _ in range(n+1)] for a,b in puddles: map[b][a]=-1 for i in range(1,n+1): for j in range(1,m+1): if i==1 and j==1: map[i][j]=1 else: if map[i][j]==-1: cont.. 2021. 5. 8.
[프로그래머스] 순위 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.