Programmers / 2단계 / 뒤에 있는 큰 수 찾기 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 뒤에 있는 큰 수 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 def solution(numbers): result=[] for i in range(len(numbers)): for j in numbers[i:]: if numbers[i]
Programmers / 2단계 / [스택/큐] 주식가격 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 주식가격 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(prices): length = len(prices) # 모든 가격 max값으로 세팅 result = [ i for i in range (length - 1, -1, -1)] # 주식 가격이 떨어지는 경우를 찾아 수정 stack = [0] for i in range (1, length): while stack and prices[stack[-1]] > prices[i]: j = stack.pop() result[j] = i - j stack.append(i) return result 1. 모든 가격 max값으로 세팅: result=[4,3,2,1,0] 2. 가격이 떨어지는..
Programmers / 3단계 / [DFS/BFS] 네트워크 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 네트워크 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 DFS 풀이 def solution(n, computers): answer = 0 visited = [0 for i in range(n)] def dfs(computers, visited, start): stack = [start] while stack: j = stack.pop() if visited[j] == 0: visited[j] = 1 for i in range(0, len(computers)): if computers[j][i] ==1 and visited[i] == 0: stack.append(i) i=0 while 0 in visited: if visited[i] ==0: dfs(..
Programmers / 2단계 / [힙(Heap)] 더 맵게 / python /
·
코딩테스트/programmers (python)
코딩테스트 연습 - 더 맵게 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 import heapq as hq def solution(scoville, K): hq.heapify(scoville) answer = 0 while True: first = hq.heappop(scoville) if first >= K: break if len(scoville) == 0: return -1 second = hq.heappop(scoville) hq.heappush(scoville, first + second*2) answer += 1 return answer import heapq def solution(scoville, K): h=[] for i in scoville: hea..
Programmers / 2단계 / 깊이/너비 우선 탐색(DFS/BFS) / python /
·
코딩테스트/programmers (python)
코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 from collections import deque def solution(maps): n = len(maps); m = len(maps[0]) visited = [[False] * m for _ in range(n)] q = deque() q.append((0, 0)) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] visited[0][0]=True while q: y, x = q.popleft() for i in range(4): nx=x+dx[i] ny=y+dy[i] if 0
Programmers / 2단계 / k진수에서 소수 개수 구하기 / python / 2018 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - k진수에서 소수 개수 구하기 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 # n을 k진법으로 나타낸 문자열 반환 def conv(n, k): s = '' while n: s += str(n%k) n //= k return s[::-1] # n이 소수인지 판정 def isprime(n): if n
Programmers / 2단계 / [1차] 뉴스 클러스터링 / python / 2018 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - [1차] 뉴스 클러스터링 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(str1, str2): str1 = str1.upper() str2 = str2.upper() # 다중집합 구하기 A, B = [], [] for i in range(len(str1)-1): str = str1[i:i+2] # 두글자씩 끊어 if str.isalpha(): # 영문자로 된 글자만 다중집합의 원소로 만듦 A.append(str) for i in range(len(str2)-1): str = str2[i:i+2] # 두글자씩 끊어 if str.isalpha(): # 영문자로 된 글자만 다중집합의 원소로 만듦 B.append(str) # 자카드 ..
Programmers / 2단계 / 튜플 / python / 2019 카카오 개발자 겨울 인턴십
·
코딩테스트/programmers (python)
코딩테스트 연습 - 튜플 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 def solution(s): result=[] s=s[2:-2] s=s.split('},{') s.sort(key=lambda x: len(x)) for i in range(len(s)): if ',' not in s[i]: result.append(int(s[i])) else: for j in s[i]: if j not in s[i-1] and j!=',': result.append(int(j)) return result 튜플의 각 요소가 한 자리 수일 때만 적용되는 코드라 테스트 3에서 실패한 것 같다 모범 답안 def solution(s): answer = [] s = s[2:-2] s = s.split(..