본문 바로가기
728x90
SMALL

분류 전체보기58

파이썬 라이브러리 defaultdict 파이썬에서는 defaultdict라는 편리한 라이브러리를 제공한다.  defaultdict란?defaultdict는 Python의 collections 모듈에 있는 클래스입니다. 기본 딕셔너리와 비슷하지만, 키가 존재하지 않을 때 KeyError를 발생시키는 대신 자동으로 기본 값을 생성해주는 딕셔너리입니다. dictionary 구현법 (defaultdict 라이브러리 사용 X)defaultdict를 사용하지 않고 일반 딕셔너리를 사용하여 동일한 작업을 수행할 수 있습니다. 이를 위해서는 키가 존재하지 않을 때 기본값을 수동으로 설정해주어야 합니다. 기본값이 int인 경우d = {}if 'a' not in d: d['a] = 0d['a'] += 1if 'b' not in d: d['b'] = 0d['b'.. 2024. 6. 24.
삼성 SW 역량테스트 2023 하반기 오전 1번 문제 - 왕실의 기사 대결 https://www.codetree.ai/training-field/frequent-problems/problems/royal-knight-duel/description?page=1&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 시간 제한: 1000ms 메모리 제한: 80MB 필요한 변수 L: 체스판의 크기 (3≤L≤40) N: 기사의 수 (1≤N≤30) Q: 명령의 수 (1≤Q≤100) graph: L X L 크기의 그래프, 빈 칸/함정/벽인지 기록 r, c, h, w, k : N번 loop를 돌며 각 기사들의 정보를 입력을.. 2024. 4. 10.
[백준] 1504번 : 특정한 최단 경로 (파이썬) Dijkstra 문제 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 💡 풀이코드 1 (성공) import sys import heapq import copy node, edge = map(int, sys.stdin.readline().split()) graph = [[] for _ in range(node + 1)] visited = [[False] for _ in range(node + 1)] f.. 2024. 2. 25.
[백준] 9084번 : 동전 (파이썬) DP 문제 https://www.acmicpc.net/problem/9084 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 💡 풀이 코드 import sys t = int(sys.stdin.readline()) for _ in range(t): n = int(sys.stdin.readline()) c = list(map(int, sys.stdin.readline().split())) price = int(sys.stdin.readline()) dp = [[0] * (price + 1) for.. 2024. 2. 18.
[백준] 2294번 : 동전 2 (파이썬) DP 문제 https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어 www.acmicpc.net 💡 풀이 코드 import sys n, k = map(int, sys.stdin.readline().split()) coin = [] for _ in range(n): value = int(sys.stdin.readline()) coin.append(value) dp = [10001] * (k + 1) dp[0] = 0 def coin2(n, coin, .. 2024. 2. 18.
[백준] 2170번 : 선 긋기 (파이썬) 정렬 + 스위핑 문제 https://www.acmicpc.net/problem/2170 2170번: 선 긋기 첫째 줄에 선을 그은 횟수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y (-1,000,000,000 ≤ x < y ≤ 1,000,000,000)가 주어진다. www.acmicpc.net 💡 풀이 코드 import sys n = int(sys.stdin.readline()) line = [] for _ in range(n): start, end = map(int, sys.stdin.readline().split()) line.append((start, end)) line.sort() last = -sys.maxsize answe.. 2024. 2. 18.
320x100
LIST