[프로그래머스] : lv.3 - 단어 변환 (파이썬)
·
Algorithm/Graph
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr BFS 문제  문제코드from collections import dequedef bfs(queue, words, target): while queue: now, counts = queue.popleft() if target == now: return counts for i in range(len(words))..
파이썬 라이브러리 defaultdict
·
Algorithm/Dictionary
파이썬에서는 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'..
[백준] 1504번 : 특정한 최단 경로 (파이썬)
·
Algorithm/Graph
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 sysimport heapqimport copynode, edge = map(int, sys.stdin.readline().split())graph = [[] for _ in range(node + 1)]visited = [[False] for _ in range(node + 1)]for i in ..
[백준] 9084번 : 동전 (파이썬)
·
Algorithm/DP
DP 문제https://www.acmicpc.net/problem/9084 9084번: 동전우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는www.acmicpc.net 💡 풀이 코드import syst = 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 +..
[백준] 2294번 : 동전 2 (파이썬)
·
Algorithm/DP
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 sysn, 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] = 0def coin2(n, coin, k):..
[백준] 2170번 : 선 긋기 (파이썬)
·
Algorithm/Swifting
정렬 + 스위핑 문제https://www.acmicpc.net/problem/2170 2170번: 선 긋기첫째 줄에 선을 그은 횟수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y (-1,000,000,000 ≤ x www.acmicpc.net 💡 풀이 코드 import sysn = 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.maxsizeanswer = 0for start, end in line: ..
_은선_
'Algorithm' 카테고리의 글 목록 (8 Page)