본문 바로가기

Python15

[python]programmers - 매칭 점수 2019 카카오 신입 공채 1차 - 매칭 점수 * 카카오의 해설은 : 여기 2019 카카오 신입 공채 1차 코딩 테스트 문제 해설 작년에 이어 올해도 블라인드 전형으로 카카오 개발 신입 공채가 시작되었습니다! 그 첫 번째 관문으로 1차 온라인 코딩 테스트가 지난 9월 15일(토) 오후 2시부터 7시까지 5시간 동안 치러졌는데 tech.kakao.com * programmers 문제 : https://programmers.co.kr/learn/courses/30/lessons/42893 코딩테스트 연습 - 매칭 점수 매칭 점수 프렌즈 대학교 조교였던 제이지는 허드렛일만 시키는 네오 학과장님의 마수에서 벗어나, 카카오에 입사하게 되었다. 평소에 관심있어하던 검색에 마침 결원이 발생하여, 검색개발팀 progr.. 2021. 8. 30.
[python]programmers - 메뉴리뉴얼 programmers Level2 2021 KAKAO BLIND RECRUITMENT 메뉴리뉴얼 카카오 코테에서 이 문제를 풀었던 기억이 난다. 그때 문제를 덜 이해해서 정답을 맞추지는 못했었다. [입출력 예] orders course result ["ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH"] [2,3,4] ["AC", "ACDE", "BCFG", "CDE"] ["ABCDE", "AB", "CD", "ADE", "XYZ", "XYZ", "ACD"] [2,3,5] ["ACD", "AD", "ADE", "CD", "XYZ"] ["XYZ", "XWY", "WXA"] [2,3,4] ["WX", "XY"] 이전 코테에서 문제를 풀때 두번째 예시의 정답에 왜 'AB'가 안들어.. 2021. 7. 21.
[python]programmers - 더맵게 프로그래머스 Level2 힙(Heap) 더 맵게 참고 : heapq 모듈 사용법 [파이썬] heapq 모듈 사용법 Engineering Blog by Dale Seo www.daleseo.com 소스 코드 import heapq def solution(scoville, K): h = [] # heap c = 0 # 변환 횟수 카운트 for i in scoville : heapq.heappush(h, i) while True : a = heapq.heappop(h) # 최소값을 pop if(a >= K) : # 최소값이 K보다 크면 나머지 값들도 다 K보다 크다 break elif(len(h) == 0 and a < K) : # 최소값 하나 남았는데 K보다 작으면 -1 반환 return -1 b = hea.. 2021. 7. 20.
[python]재귀 - 하노이의 탑 [참고 블로그] shoark7.github.io/programming/algorithm/tower-of-hanoi '하노이의 탑' 이해하기 '하노이의 탑' 문제를 이해하고 문제 해결을 위한 핵심 통찰을 살핀 뒤 코드로 작성합니다. 이후 탑의 개수에 따른 총 이동 횟수를 구하는 일반항까지 수학적으로 유도합니다. shoark7.github.io [코드] # 하노이의 탑 경로출력 - 출처 : https://shoark7.github.io/programming/algorithm/tower-of-hanoi MSG_FORMAT = "{}: {} -> {}" def move(N, start, to): print(MSG_FORMAT.format(N, start, to)) def hanoi(N, start, to, vi.. 2021. 4. 24.
[python] dijkstra 알고리즘 dijkstra(다익스트라) 알고리즘은 source node로 부터 모든 node까지의 최단거리를 구하는 알고리즘이다. 먼저 다른 블로그에서 코드를 보고, 출력을 해보며 작동원리를 이해해보았다. 다익스트라 알고리즘을 구현하기전에 먼저 heapq에 대해 공부해야 했다. heapq는 우선순위큐 를 구현하기 위해 쓰이는 모듈이다. 따로 설치할 필요없이 import heapq 하면 된다. [heapq] 완전 이진 트리 형태 부모 노드 키값이 자식 노드 키값보다 항상 작다(최소힙) 키값의 대소관계는 부모/자식 관계에서만 성립하고, 자식끼리의 대소관계는 없다 heapq 예시 import heapq q = [] heapq.heappush(q, [2, 'D']) heapq.heappush(q, [8, 'B']) hea.. 2021. 3. 22.
[python]programmers-소수찾기 programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr level2, 완전탐색 카테고리에 해당하는 문제이다. 문제를 풀기위한 단계 1. 주어진 수로 만들 수 있는 모든 수의 순열을 구한다 2. 순열을 차례로 검사하여 소수인지 판단한다 1번부터 어떻게 해야할지 막막했다. 검색을 해보니 python에서 순열을 만들어주는 함수가 있었다. from itertools import permutations numbers = '7.. 2021. 2. 26.