전체 글 144

백준 15655. N과 M (6) [Python]

문제 : N과 M (6) 난이도 : 실버 3 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net def recur(lev, next_i): if lev == M: print(*path) return for i in range(next_i, N): if visited[i] == 0: visited[i] = 1 path.append(arr[i]) recur(lev+1, i+1) visited[i] = 0 p..

BOJ 2022.06.04

백준 15654. N과 M (5) [Python]

문제 : N과 M (5) 난이도 : 실버 3 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net def recur(lev): if lev == M: print(*path) return for i in range(N): if visited[i] == 0: visited[i] = 1 path.append(arr[i]) recur(lev+1) visited[i] = 0 path.pop() N, M = map(..

BOJ 2022.06.04

백준 15652. N과 M (4) [Python]

문제 : N과 M (4) 난이도 : 실버 3 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net def recur(lev, next_i): if lev == M: print(*path) return for i in range(next_i, N): path.append(i + 1) recur(lev + 1, i) path.pop() N, M = map(int, input().split()) path = [] vi..

BOJ 2022.06.03

백준 15650. N과 M (2) [Python]

문제 : N과 M (2) 난이도 : 실버 3 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net def recur(lev, next_i): if lev == M: print(*path) return for i in range(next_i, N): path.append(i+1) recur(lev+1, i+1) path.pop() N, M = map(int, input().split()) path = [] recu..

BOJ 2022.06.03

백준 15649. N과 M (1) [Python]

문제 : N과 M (1) 난이도 : 실버 3 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net def recur(lev): if lev == M: print(*path) return for i in range(N): if visited[i] == 0: visited[i] = 1 path.append(i+1) recur(lev+1) path.pop() visited[i] = 0 N, M = map(int, in..

BOJ 2022.06.03

백준 11724. 연결 요소의 개수 [Python]

문제 : 연결 요소의 개수 난이도 : 실버 2 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net def dfs(j): for k in arr[j]: if visited[k] == 0: visited[k] = 1 dfs(k) N, M = map(int, input().split()) arr = [[] for _ in range(N+1)] visited..

BOJ 2022.06.02

백준 1302. 베스트셀러 [Python]

문제 : 베스트셀러 난이도 : 실버 4 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net N = int(input()) lst = list(input() for _ in range(N)) lst.sort() lst2 = set(lst) max_cnt = 0 book = '' for i in lst2: cnt = 0 for j in range(N): if i == lst[j]: cnt += 1 if max..

BOJ 2022.06.02

백준 1449. 수리공 항승 [Python]

문제 : 수리공 항승 난이도 : 실버 3 언어 : Python 문제 링크 : https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net N, L = map(int, input().split()) leak = list(map(int, input().split())) cnt = 0 ssum = 0 leak.sort() for i in range(N-1): ssum += leak[i+1] - leak[i] if ssum >= L: cnt += ..

BOJ 2022.05.30
LIST