전체 글 270

백준 2631번 줄세우기 파이썬

https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 www.acmicpc.net 내 답안 import sys input = sys.stdin.readline N = int(input()) A = [int(input()) for i in [0]*N] dp = [1] * N for i in range(1, N): for j in range(i): if A[i] > A[j]: dp[i] = max(dp[i], dp[j]+1) print(N-max(dp)) 가장 긴 증가하는 부분 수열의 원..

BOJ/Python 2022.03.21

백준 1620번 나는야 포켓몬 마스터 이다솜 파이썬

https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 내 답안 import sys input = sys.stdin.readline N, M = map(int, input().rstrip().split()) x = [input().rstrip() for i in range(N)] y = dict() for i in range(N): y[x[i]] = str(i + 1) z = dict(map(reversed, y.items..

BOJ/Python 2022.03.20

백준 17202번 핸드폰 번호 궁합 파이썬

https://www.acmicpc.net/problem/17202 17202번: 핸드폰 번호 궁합 어린시절 다들 한 번씩은 이름으로 궁합을 본 적이 있을 것이다. 이것과 비슷한 방식으로 중앙대학교에는 핸드폰 번호 궁합을 보는 것이 유행이라고 한다. 핸드폰 번호 궁합을 보기 위해서는 www.acmicpc.net 내 코드 x = list(input()) y = list(input()) temp = [] answer = '' for i in range(8): answer += x[i] + y[i] while len(answer) != 2: for i in range(len(answer) - 1): temp.append(str((int(answer[i]) + int(answer[i + 1])) % 10)) a..

BOJ/Python 2022.03.19

백준 1764번 듣보잡 파이썬

https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 내 답안 import sys input = sys.stdin.readline N, M = map(int, input().rstrip().split()) x = set([input().rstrip() for i in range(N)]) y = set([input().rstrip() for i in range(M)]) z = y & x print(len(z)) for i in sorted(list(..

BOJ/Python 2022.03.18

백준 11651번 좌표정렬하기 2 파이썬

https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 내 답안 import sys input = sys.stdin.readline lst = [] for i in range(int(input())): x, y = map(int, input().split()) lst.append((x, y)) lst.sort(key=lambda a: (a[1], a[0])) for i, j in lst: pri..

BOJ/Python 2022.03.18

백준 11650번 좌표 정렬하기 파이썬

https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 내 답안 import sys input = sys.stdin.readline lst = [] for i in range(int(input())): x, y = map(int, input().split()) lst.append((x, y)) lst.sort() for i, j in lst: print(f'{i} {j}') 리스트에 넣은 튜플들을 ..

BOJ/Python 2022.03.18

백준 1931번 회의실 배정 파이썬

https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 내 답안 N = int(input()) M = [] for i in range(N): start_time, end_time = map(int, input().split()) M.append((start_time, end_time)) # 끝나는 시간으로 시간대 정렬 M.sort(key=lambda x: (x[1], x[0])) et = cnt = 0 for start_time, end_time in M: if start_time >= et: et = end_time cnt += 1 print(cnt) # 끝나는 시..

BOJ/Python 2022.03.17

백준 15649번 N과 M (1) 파이썬

https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 내 답안 from itertools import permutations N, M = map(int, input().split()) A = [i for i in range(1, N + 1)] for i in permutations(A, M): for j in i: print(j, end=' ') print() permutations (iterable, r) 파이썬 itertools 모듈에는 많은 ..

BOJ/Python 2022.03.16

백준 11053번 가장 긴 증가하는 부분 수열 파이썬

https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 내 답안 import sys input = sys.stdin.readline N = int(input()) A = list(map(int, input().split())) dp = [1] * N for i in range(1, N): for j in range(i): if A[i] > A[j]: dp[i] = max(d..

BOJ/Python 2022.03.15

백준 1935번 후위 표기식 2 파이썬

https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 내 답안 import sys input = sys.stdin.readline N = int(input()) x = input().rstrip() stack = [] # 피연산자 바로 추가할 리스트 생성 dic = {} # 딕셔너리 생성 keys = sorted(list(set([i for i in x if i.isalpha()]))) # 후위연산자에서 변수만 뽑아내기 values = [..

BOJ/Python 2022.03.14
반응형
목차(index)