코딩테스트
-
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net DFS와 BFS는 아직 좀 어렵다... 많은 연습을 필요로 할 듯 하다~ DFS n = int(input()) v = int(input()) graph = [[] for i in range(n+1)] visited = [0] * (n+1) for i in range(v): a, b = map(int, input().split()) graph[a] += [b] graph[b] += [a] def dfs(..
[BaekJoon] 바이러스 (Python3)https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net DFS와 BFS는 아직 좀 어렵다... 많은 연습을 필요로 할 듯 하다~ DFS n = int(input()) v = int(input()) graph = [[] for i in range(n+1)] visited = [0] * (n+1) for i in range(v): a, b = map(int, input().split()) graph[a] += [b] graph[b] += [a] def dfs(..
2024.02.17 -
Problem: https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 이해는 되는데 내가 직접 짜려고 하니까 어렵다.. 반복 또 반복이 답이다 !!! import sys input = sys.stdin.readline n = int(input()) k = int(input()) dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] graph = [[0]*n for _ in range(n)] x, y = n//2, n//2 graph[x]..
[BaekJoon] 달팽이 (Python3)Problem: https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 이해는 되는데 내가 직접 짜려고 하니까 어렵다.. 반복 또 반복이 답이다 !!! import sys input = sys.stdin.readline n = int(input()) k = int(input()) dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] graph = [[0]*n for _ in range(n)] x, y = n//2, n//2 graph[x]..
2024.02.17 -
Problem: https://www.acmicpc.net/problem/16439 16439번: 치킨치킨치킨 첫 번째 줄에 고리 회원의 수 N (1 ≤ N ≤ 30) 과 치킨 종류의 수 M (3 ≤ M ≤ 30) 이 주어집니다. 두 번째 줄부터 N개의 줄에 각 회원의 치킨 선호도가 주어집니다. i+1번째 줄에는 i번째 회원의 선 www.acmicpc.net combination을 써서 쉽게 풀었다. 조합을 생각해야 하는 문제. 처음에는 단순히 세로줄을 더해서 큰 거를 하면 되는 거 아닌가? 했는데 모든 경우의 수를 따져봐야 하는 문제. import sys from itertools import combinations input = sys.stdin.readline n, m = map(int, input..
[BaekJoon] 치킨치킨치킨 - 실버4 (Python3)Problem: https://www.acmicpc.net/problem/16439 16439번: 치킨치킨치킨 첫 번째 줄에 고리 회원의 수 N (1 ≤ N ≤ 30) 과 치킨 종류의 수 M (3 ≤ M ≤ 30) 이 주어집니다. 두 번째 줄부터 N개의 줄에 각 회원의 치킨 선호도가 주어집니다. i+1번째 줄에는 i번째 회원의 선 www.acmicpc.net combination을 써서 쉽게 풀었다. 조합을 생각해야 하는 문제. 처음에는 단순히 세로줄을 더해서 큰 거를 하면 되는 거 아닌가? 했는데 모든 경우의 수를 따져봐야 하는 문제. import sys from itertools import combinations input = sys.stdin.readline n, m = map(int, input..
2024.02.16 -
https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 모든 주유소의 가격이 똑같다면? 처음에는 sort로 접근했는데 그럴 필요없이 마지막 if i == n-2일 때, min이랑 거리를 곱해주면 된다. 아직은 계속 생각해내는게 쉽진 않지만, 조금씩 성장하는 중이다! n = int(input()) len = list(map(int, input().split())) costs = list(map(int, input().split())) to..
[BaekJoon] 주유소 - 실버3 (Python3)https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 모든 주유소의 가격이 똑같다면? 처음에는 sort로 접근했는데 그럴 필요없이 마지막 if i == n-2일 때, min이랑 거리를 곱해주면 된다. 아직은 계속 생각해내는게 쉽진 않지만, 조금씩 성장하는 중이다! n = int(input()) len = list(map(int, input().split())) costs = list(map(int, input().split())) to..
2024.02.15 -
https://www.acmicpc.net/problem/5212 5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 코딩테스트 스터디를 시작하고 백준 문제를 풀어보고 있는 중 다른 건 어찌어찌 해결했는데, 마지막에 출력할 때 y축이 너~무 어려웠다. 방향벡터도 손에 좀 익긴 해야 할 듯... row, col = map(int, input().split()) arr = [list(input()) for _ in range(row)] # input new = [] # new array # 방항 벡터 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] for i in range..
[BaekJoon] 지구온난화 - 실버2 (Python3)https://www.acmicpc.net/problem/5212 5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 코딩테스트 스터디를 시작하고 백준 문제를 풀어보고 있는 중 다른 건 어찌어찌 해결했는데, 마지막에 출력할 때 y축이 너~무 어려웠다. 방향벡터도 손에 좀 익긴 해야 할 듯... row, col = map(int, input().split()) arr = [list(input()) for _ in range(row)] # input new = [] # new array # 방항 벡터 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] for i in range..
2024.02.15 -
https://youtu.be/KGyK-pNvWos?si=UmTopIc_Gx-Xh8nV 본 내용은 위의 유투브를 참고해서 작성했음을 밝힙니다! 두 배열의 원소 교체 문제 해결 아이디어 n, k = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort() # 배열 A는 오름차순 정렬 수행 b.sort(reverse=True) # 배열 B는 내림차순 정렬 수행 # 첫 번재 인덱스부터 확인하며, 두 배열의 원소를 최대 k번 비교 for i in range(k): if a[i] < b[i]: a[i], b[i] = b[i], a[i] else: break print(sum(a))..
[정렬 알고리즘] 문제: 두 배열의 원소 교체https://youtu.be/KGyK-pNvWos?si=UmTopIc_Gx-Xh8nV 본 내용은 위의 유투브를 참고해서 작성했음을 밝힙니다! 두 배열의 원소 교체 문제 해결 아이디어 n, k = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort() # 배열 A는 오름차순 정렬 수행 b.sort(reverse=True) # 배열 B는 내림차순 정렬 수행 # 첫 번재 인덱스부터 확인하며, 두 배열의 원소를 최대 k번 비교 for i in range(k): if a[i] < b[i]: a[i], b[i] = b[i], a[i] else: break print(sum(a))..
2024.02.13