Programmers / 1단계 / 신고 결과 받기 / python / 2022 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - 신고 결과 받기 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 def solution(id_list, report, k): id_dict={x: 0 for x in id_list} rep_id={x: 0 for x in id_list} arr=[] id = [] for i in set(report): id_dict[i.split()[1]] +=1 for i in id_dict.keys(): if id_dict[i] >= k: id.append(i) for i in set(report): if i.split()[1] in id: rep_id[i.split()[0]]+=1 return [_ for _ in rep_id.values()] 모범 답안 def solutio..
Programmers / 2단계 / 배달 / python / Summer/Winter Coding(~2018)
·
코딩테스트/programmers (python)
코딩테스트 연습 - 배달 | 프로그래머스 스쿨 (programmers.co.kr) 모범 답안 import heapq def dijkstra(dist,adj): queue = [] heapq.heappush(queue, [0,1]) while queue: cost, node = heapq.heappop(queue) for c,n in adj[node]: if cost+c < dist[n]: dist[n] = cost+c heapq.heappush(queue, [cost+c,n]) def solution(N, road, K): dist = [float('inf')]*(N+1) dist[1] = 0 adj = [[] for _ in range(N+1)] for r in road: adj[r[0]].append..
Programmers / 2단계 / [3차] 파일명 정렬 / python / 2018 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - [3차] 파일명 정렬 | 프로그래머스 스쿨 (programmers.co.kr) 모범 답안 import re def splitS(s): head = re.match('[\D]+', s) number = re.search('[0-9]+', s) file = [head[0], int(number[0]), s[number.end():]] return file def solution(files): newFile = [] for i, file in enumerate(files): s_file = splitS(file.lower()) s_file.append(i) newFile.append(s_file) newFile.sort(key = lambda x : (x[0], x[1], x[-1])) a..
Programmers / 2단계 / 스킬트리 / python / Summer/Winter Coding(~2018)
·
코딩테스트/programmers (python)
코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 def solution(skill, skill_trees): count=0 for st in skill_trees: sk='' for s in st: if s in skill: sk+=str(skill.index(s)) if sk=='': count+=1 num='' for i in range(len(sk)): num+=str(i) if sk==num: count+=1 return count 모범 답안 def solution(skill, skill_trees): answer = 0 for skills in skill_trees: skill_list = list(skill) for s in skills: if ..
Programmers / 2단계 / 오픈채팅 / python / 2019 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - 오픈채팅방 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . Change로 닉네임이 변경될 때 기존의 닉네임을 변경하는 것에 어려움이 있었다. 모범 답안 def solution(record): dic={} result=[] for rec in record: record_split = rec.split() if len(record_split) == 3: dic[record_split[1]] = record_split[2] for rec in record: record_split = rec.split() if record_split[0] == 'Enter': result.append(f'{dic[record_split[1]]}님이 들어왔습니다.') elif recor..
Programmers / 해시 문제 모음
·
코딩테스트/programmers (python)
코딩테스트 연습 - 폰켓몬 | 프로그래머스 스쿨 (programmers.co.kr) 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 스쿨 (programmers.co.kr) def solution(participant, completion): hash_dict={} csum=0 for i in participant: hash_dict[hash(i)]=i csum+=hash(i) for i in completion: csum-=hash(i) return hash_dict[csum] 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 스쿨 (programmers.co.kr) def solution(phone_book): pdict = {} for i in phone_book: pdict[i] = 1 f..
Programmers / DFS / BFS 문제 모음
·
코딩테스트/programmers (python)
코딩테스트 연습 - 타겟 넘버 | 프로그래머스 스쿨 (programmers.co.kr) def solution(numbers, target): n=[0] for i in numbers: num=[] for j in n: num.append(j+i) num.append(j-i) n=num return n.count(target) 코딩테스트 연습 - 네트워크 | 프로그래머스 스쿨 (programmers.co.kr) def solution(n, computers): def DFS(i): visited[i] = 1 for j in range(n): if computers[i][j] and not visited[j]: DFS(j) answer = 0 visited = [0 for i in range(n)] for..
Programmers / 2단계 / 주차 요금 계산 / python / 2022 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/92341 나의 풀이 . 딕셔너리를 이용해 차량 번호에 이용 시간에 따른 주차 요금을 누적시키면 될 것이라고 생각하였다. 하지만 한 차량이 여러 번 주차를 할 경우 IN, OUT 상태에 따른 구분을 하는 것에 어려움이 있었다. 모범 답안 import math def solution(fees, records): check = {} for record in records: time, number, status = record.split() time = time.split(':') time = int(time[0])*60 + int(time[1]) if number not in check: check[num..