분류 전체보기 1372

프로그래머스(Python) 86971번 전력망을 둘로 나누기 풀이

Python으로 구현한 86971번 전력망을 둘로 나누기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr from collections import deque, defaultdict def bfs(start, cut, wires, n, wire_dict) : count = 0 visited = [False] * (n + 1) q = deque([start]) visited[start] = Tr..

프로그래머스(Python) 84512번 모음 사전 풀이

Python으로 구현한 84512번 모음 사전 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr from itertools import product def solution(word) : target = ['A', 'E', 'I', 'O', 'U'] arr = [] for i in range(1, 6) : arr += list(map("".join..

프로그래머스(Python) 68936번 쿼드압축 후 개수 세기 풀이

Python으로 구현한 68936번 쿼드압축 후 개수 세기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/68936 def solution(arr) : answer = [0, 0] len_value = len(arr) def func(x, y, len_v) : temp = arr[x][y] for i in range(x, x + len_v) : for j in range(y, y + len_v) : if arr[i][j] != temp : temp_len_v = len_v // 2 func(x, y, temp_len_v) func(x, y + temp_len_v, temp_len_v) func(x + temp_len_v, y, temp_len..

프로그래머스(Python) 70129번 이진 변환 반복하기 풀이

Python으로 구현한 70129번 이진 변환 반복하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr def solution(s) : answer = [] # 이진 변환 횟수, 제거된 0의 개수 count_bin = 0 count_zero = 0 while s != '1' : # 1번 수행 : 모든 0을 제거 count_zero += s.count('0') s = s.replace('0', '') # 2번 수행 len_value = len(s) # 진법 변환 s = bin(len_value)[2:] count_bin += 1 answer.append(count_..

프로그래머스(Python) 92335번 k진수에서 소수 개수 구하기 풀이

Python으로 구현한 92335번 k진수에서 소수 개수 구하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr from math import sqrt def check(data) : if data 0 : a, b = divmod(n, k) n //= k value += str(b) value = value[::-1] for i in val..

프로그래머스(Python) 92341번 주차 요금 계산 풀이

Python으로 구현한 92341번 주차 요금 계산 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr import math from collections import defaultdict def solution(fee..

프로그래머스(Python) 87390번 n^2 배열 자르기 풀이

Python으로 구현한 87390번 n^2 배열 자르기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr def solution(n, left, right) : answer = [] for i in range(left, right + 1) : answer.append(max(i//n, i%n) + 1) return answer 1. 전..

프로그래머스(Python) 17683번 [3차] 방금그곡 풀이

Python으로 구현한 17683번 [3차] 방금그곡 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr def replacement(data) : data = data.replace('C#', 'c') data = data.replace('D#', 'd') data = data.replace('F#', 'f') data = data.replace('G#', 'g') data = d..

프로그래머스(Python) 17680번 [1차] 캐시 풀이

Python으로 구현한 17680번 [1차] 캐시 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17680 = cacheSize : data.popleft() data.append(city) return answer 1. 만약 cacheSize가 0이라면 모든 도시가 cacheSize보다 크므로 len(cities) * 5 를 반환한다. 2. cities의 city를 하나씩 확인하는데, 대소문자를 구분하지 않으므로 모두 소문자로 변환한다. 3. 만약 city가 data에 존재한다면 answer를 1 증가시키고 data에서 city를 제거한다. 4. 그렇지 않다면 answer를 5 증가시킨다. 이후 len(data)가 cacheSize보다 크거..

프로그래머스(Python) 17684번 [3차] 압축 풀이

Python으로 구현한 17684번 [3차] 압축 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr def solution(msg) : answer = [] info = {} for i in range(26) : info[chr(65+i)] = i + 1 next_info_num = 27 index = 0 i = 1 while True : while msg[index:index + i] in info : i += 1..