크기가 NxN 인 도시에서 정해진 치킨집 안에서 각각 집까지의 거리의 합 중 최솟값을 구하는 문제이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 해당 문제는 완전탐색으로 풀었다. 1. 치킨집들과 집들에 대한 위치를 튜플로 저장한다. chickens = [] house = [] for i in range(N): for j in range(N): if BRD[i][j] == 2: chickens.append((i,j)) elif BRD[i][j] == 1: house.append((i,j)) 2. 조합을 이용해서 각각의 경우의 수를 다 구한다. # M개의 치킨 집을 고르는 경우의 수를 구한다. def combi(n, m): result = []..
이번 문제는 백준의 실버1 난이도인 완전탐색 문제이다. 재귀로도 풀 수 있지만, 조합을 구해서 모든 조합의 경우의 수에 대해 문제를 해결하였다. 조합 경우의 수가 담긴 리스트를 순회하면서, 해당 인덱스의 재료들을 포함시킬 경우의 신맛과 단맛의 차이를 구하여서 최소값을 구해주었다. 정답코드 N = int(input()) ingredients = [] for n in range(N): ingredients.append(tuple(map(int, input().split()))) # [(3,8), (5,8)] min_gap = 1000000000 def combi(n): combis = [] for i in range(1
실버5단계의 문제이다. N개의 DNA가 주어지고, Hamming Distance가 가장 작게 나오는 DNA 서열을 구하는 문제이다. 이 문제는, 각각의 서열을 인덱스로 접근하여서 가장 많이 나온 알파벳을 추가하는 방식으로 문제를 해결했다. 처음에 문제를 끝까지 다 안읽어서 멀리까지 돌고 돌다가 왔다..ㅎㅎ "그러한 DNA가 여러 개 있을 때에는 사전순으로 가장 앞서는 것을 출력한다." 만약 DNA 서열들의 1번 인덱스가 A 1개, T 1개, G 1개, C 1개 있다고 했을 때 A를 추가해주면 되는데, 위에 문장을 안읽고 각각 넣어보고 다른 서열들과 비교해서 Hamming Distance가 가장 작은 것을 찾는 방식으로 풀다가 포기했다..ㅎ 오늘의 교훈문제 끝까지 읽자..^~^ 해결코드 N, M = map..
- Total
- Today
- Yesterday
- Network
- 알고리즘
- IPv4
- 운영체제
- 코딩테스트
- 4계층
- 다대다매핑
- Python
- 프로그래머스
- 완전탐색
- 네트워크
- SQL
- 5397
- OS
- C++
- 소셜로그인
- SQLD
- dfs
- allauth
- intellij
- BFS
- 백준
- 동적프로그래밍
- cs
- 코테
- 인텔리제이
- DP
- 파이썬
- 브루트포스
- cs공부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |