Programmers / [PCCP 모의고사 1회] 3번 / 유전법칙 / python
·
코딩테스트/programmers (python)
문제: https://school.programmers.co.kr/learn/courses/15008/lessons/121685 풀이def solution(queries): def find(n, p): if n == 1: return "Rr" parent = find(n-1, (p-1)//4+1) idx = (p-1) % 4 if parent == "RR": return "RR" elif parent == "rr": return "rr" else: return ["RR", "Rr", "Rr", "rr"][idx] return [find(n, ..
Programmers / 2단계 / 행렬 테두리 회전하기 / python
·
코딩테스트/programmers (python)
출처: https://school.programmers.co.kr/learn/courses/30/lessons/77485 코드def solution(rows, columns, queries): matrix = [] tmp = [] for i in range(1, (rows * columns + 1)): tmp.append(i) if (len(tmp) == columns): matrix.append(tmp) tmp = [] rotation(matrix, queries) return answer answer = []def rotation(matrix, queries): global answer ..
Programmers / 2단계 / 수식 최대 / python / 2020 카카오 인턴십
·
코딩테스트/programmers (python)
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/67257  코드 from itertools import permutationsdef operation(num1, num2, op): if op == '+': return str(int(num1) + int(num2)) if op == '-': return str(int(num1) - int(num2)) if op == '*': return str(int(num1) * int(num2)) def calculate(expression, op): array = [] tmp = "" for i in expression: ..
Programmers / 3단계 / 가장 먼 노드 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/49189# 코드from collections import dequedef solution(n, edge): graph = [[] for _ in range(n+1)] visited = [0] * (n+1) for e in edge: x, y = e[0], e[1] graph[x].append(y) graph[y].append(x) q = deque() q.append(1) visited[1] = 1 while q: p = q.popleft() for i in graph[p]: ..
Programmers / 3단계 / 무인도 여행 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 무인도 여행 | 프로그래머스 스쿨 (programmers.co.kr)  코드from collections import dequedef solution(maps): N, M = len(maps), len(maps[0]) visited = [[0] * M for _ in range(N)] queue = deque() answer = [] for i in range(N): for j in range(M): if maps[i][j] =='X' or visited[i][j]: continue queue.append((i,j)) visited[i][..
Programmers / 3단계 / 섬 연결하기 / python / Greedy / Kruskal 알고리즘
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/42861  코드def solution(n, costs): answer = 0 costs.sort(key = lambda x: x[2]) s = set([costs[0][0]]) while len(s) != n: for v in costs: if v[0] in s and v[1] in s: continue if v[0] in s or v[1] in s: s.update([v[0], v[1]]) answer += v[2] ..
Programmers / 3단계 / 징검다리 건너기 / python / 2019 카카오 개발자 겨울 인턴십
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/64062  코드def solution(stones, k): s = 1 e = max(stones) mid = (s + e) // 2 while s = k: e = mid -1 break else: cnt = 0 else: s = mid + 1 return s - 순차탐색으로는 효율성을 만족하기 어려우므로 이진탐색으로 답을 구해야 한다.- s는 1, e는 디딤돌의 최댓값, mid는 (s + e) //2로 설정하고, 디딤돌을 ..
Programmers / 2단계 / 방금그곡 / python / 2018 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/17683 코드def solution(m, musicinfos): m = m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a') answer = [] for music in musicinfos: s = int(music.split(',')[0].split(':')[0]) * 60 + int(music.split(',')[0].split(':')[1]) e = int(music.split(',')[1].split(':')[0]) * 60 + int(musi..