본문 바로가기

전체 글147

[프로그래머스] 불량 사용자 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.
[프로그래머스] 입국심사 programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 이진트리 사용 def solution(n, times): answer=0 left=1 right=max(times)*n while left = n: break if count >= n: answer = mid right = mid-1 else: left = mid+1 return answer 2021. 5. 2.
[프로그래머스] 이중우선순위큐 programmers.co.kr/learn/courses/30/lessons/42628 def solution(operations): q=[] o=[] for i in range(len(operations)): o.append(operations[i].split()) for action, x in o: if action == 'I': q.append(int(x)) elif action == 'D': if len(q)==0: continue elif x == '1': q.__delitem__(q.index(max(q))) elif x== '-1': q.__delitem__(q.index(min(q))) print(q) if len(q)==0: return [0,0] else: return [int(max(.. 2021. 5. 2.
[프로그래머스] 여행경로 내가 풀었던 방식으로 했을때는 테스트 케이스 1번과 2번에서 문제가 발생했다. ex) tickets=[['ICN' ,'AAA'], ['ICN', 'BBB'] ,['BBB','ICN']] 답 : ['ICN', 'BBB', 'ICN', 'AAA'] 이렇게 나와야하는데, 나의 방식은 ['ICN', 'AAA', 'ICN', 'BBB']로 나온다. 이 방법의 문제점은 AAA에서 출발하는 노선이 없다는 것. 따라서 저 방법은 성립하지 못한다. 나의 풀이 def solution(tickets): answer=[] tickets.sort(key=lambda x:(-(x[0]=='ICN'),x[1])) index=0 answer.append(tickets[0][0]) while True: if len(tickets)==.. 2021. 5. 1.