코딩테스트 838

SWEA[D3] (Python) 14178번 1차원 정원 풀이

Python으로 구현한 14178번 1차원 정원 문제 풀이입니다. https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AX_N3oSqcyUDFARi&categoryId=AX_N3oSqcyUDFARi&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com t = int(input()) for tc in r..

백준(Python) 18870번 좌표 압축 풀이

Python으로 구현한 18870번 좌표 압축 문제 풀이입니다. https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net from bisect import bisect_right n = int(input()) data = list(map(int, input().split())) sorted_data = sorted(list(set(data))) def search(data, right_value) : r..

백준(Python) 10816번 숫자 카드 2 풀이

Python으로 구현한 10816번 숫자 카드 2 문제 풀이입니다. https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net from bisect import bisect_left, bisect_right n = int(input()) data = list(map(int, input().split())) data.sort() m = int(input()) target = list(map(int, input().split..

백준(Python) 1920번 수 찾기 풀이

Python으로 구현한 1920번 수 찾기 문제 풀이입니다. https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net n = int(input()) data = list(map(int, input().split())) m = int(input()) target = list(map(int, input().split())) data.sort() def binary_search(data, t, start, en..

프로그래머스(Python) 87946번 피로도 풀이

Python으로 구현한 87946번 피로도 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr def solution(k, dungeons) : return search(k, dungeons, 0) def search(k, dungeons, cnt) : cnt_list = [cnt] for i in range(len(dungeons)) : if dungeons[i][0]

프로그래머스(Python) 12978번 배달 풀이

Python으로 구현한 12978번 배달 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr from collections import defaultdict, deque def solution(n, road, k) : graph = defaultdict(list) for v1, v2, dis in road : graph[v1].append((v2, dis)) graph[..

프로그래머스(Python) 86052번 빛의 경로 사이클 풀이

Python으로 구현한 86052번 빛의 경로 사이클 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr # 상 우 하 좌 dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def move(x, y, dir, pos) : if pos == 'L' : # 좌로 가는데 L을 만나면 하, 우로 가는데 L을 만나면 상 dir = (dir - 1) % 4 e..

프로그래머스(Python) 72411번 메뉴 리뉴얼 풀이

Python으로 구현한 72411번 메뉴 리뉴얼 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr from itertools import combinations from collections import Counter def solution(orders, course) : answer = [] data = [] for order in orders : # 문자열 정렬 order = sorted(o..

프로그래머스(Python) 77885번 2개 이하로 다른 비트 풀이

Python으로 구현한 77885번 2개 이하로 다른 비트 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr def solution(numbers) : answer = [] for number in numbers : bin_num = list('0' + bin(number)[2:]) index = ''.join(bin_num).rfind('0') bin_num[index] = '1' if number % 2 == 1 : bin_num[index+1] = '0' answer.append(int(''.join(bin_num), 2)) return answer 1. ..

프로그래머스(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..