목록Python (60)
정화 코딩

08-2. 유니온 파인드 050. 집합의 표현 (백준 1717번) https://www.acmicpc.net/problem/1717 from sys import stdin def find(a): if parent[a] == a: return a else: parent[a] = find(parent[a]) return parent[a] def union(a, b): a = find(a) b = find(b) if a != b: parent[b] = a n, m = map(int, stdin.readline().split()) parent = [i for i in range(n+1)] for _ in range(m): x, a, b = map(int, stdin.readline().split()) if x ..

EDOC 과제를 다 풀고 추가로 푸는 문제들을 꾸준히 문제 풀기 글로 따로 정리하려고 한다. 1/14. 덩치 (백준 7568번) https://www.acmicpc.net/problem/7568 #python from sys import stdin n = int(stdin.readline()) data = [] ans = [] for _ in range(n): x, y = map(int, stdin.readline().split()) data.append([x, y]) for i in range(n): k = 1 for j in range(n): if (data[j][0] > data[i][0]) and (data[j][1] > data[i][1]): k += 1 ans.append(k) for x in..

08-1. 그래프의 표현 046. 특정 거리의 도시 찾기 (백준 18352번) https://www.acmicpc.net/problem/18352 from sys import stdin from collections import deque n, m, k, x = map(int, stdin.readline().split()) g = [[] for _ in range(n+1)] visited = [-1] * (n+1) ans = [] def bfs(v): que = deque() que.append(v) visited[v] += 1 while que: new = que.popleft() for x in g[new]: if visited[x] == -1: que.append(x) visited[x] = vis..

A. 인공지능 시계 (백준 2530번) https://www.acmicpc.net/problem/2530 #python from sys import stdin h, m, s = map(int, stdin.readline().split()) time = int(stdin.readline()) s += time if s >= 60: m += s // 60 s = s % 60 if m >= 60: h += m // 60 m = m % 60 if h >= 24: h = h % 24 print(h, m, s) (정답) B. 열 개씩 끊어 출력하기 (백준 11721번) https://www.acmicpc.net/problem/11721 #python from sys import stdin word = stdin.r..

https://www.acmicpc.net/contest/view/1221 A. 2023은 무엇이 특별할까? (백준 31090번) https://www.acmicpc.net/problem/31090 #python from sys import stdin t = int(stdin.readline()) for i in range(t): n = int(stdin.readline()) div = n % 100 if (n + 1) % div == 0: print("Good") else: print("Bye") (정답) B. 거짓말 (백준 31091번) https://www.acmicpc.net/problem/31091 #python from sys import stdin n = int(stdin.readline()..

07-1. 소수 구하기 037. 소수 구하기 (백준 1929번) https://www.acmicpc.net/problem/1929 from sys import stdin import math m, n = map(int, stdin.readline().split()) num = [0] * (n+1) for i in range(2, n+1): num[i] = i for i in range(2, int(math.sqrt(n))+1): if num[i] != 0: for j in range(i+i, n+1, i): num[j] = 0 for i in range(m, n+1): if num[i] != 0: print(num[i]) (정답) from sys import stdin import math m, n = ..

06-1 그리디 알고리즘 032. 동전 0 (백준 11047번) https://www.acmicpc.net/problem/11047 from sys import stdin n, k = map(int, stdin.readline().split()) coin = [int(stdin.readline()) for _ in range(n)] ans = 0 for i in range(n-1, -1, -1): ans += k // coin[i] k = k % coin[i] print(ans) 그리디 알고리즘의 문제들의 특징은 이 문제가 그리디 알고리즘을 이용해서 풀어야 한다는 것을 아는 상태에서는 매우 쉽지만, 그리디라는 아이디어 떠올리는 것 자체가 매우 어렵다는 것이다. 어려운 문제일수록 그렇다고 한다. 그래서 그..

A. CD (백준 4158번) https://www.acmicpc.net/problem/4158 #python from sys import stdin from bisect import bisect_left, bisect_right while(True): n, m = map(int, stdin.readline().split()) sg, sy = [], [] cnt = 0 if (n==0 and m==0): break for _ in range(n): sg.append(int(stdin.readline())) for _ in range(m): sy.append(int(stdin.readline())) for x in sg: if(bisect_right(sy, x) - bisect_left(sy, x) > 0..