본문 바로가기
728x90
반응형

백준17

백준 - 문자열 (Python 3) 정답 a, b = input().split() arr = [] for i in range( len(b) - len(a) + 1 ): cnt = 0 for j in range( len(a) ): if a[j] != b[i + j]: cnt += 1 arr.append(cnt) print( min( arr ) ) 2022. 12. 29.
백준 - 새싹(Python 3) 정답 새싹 = """ ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | |""" print(새싹) 풀이 개행(\n)이나 특수기호 "나 '를 주의해서 새싹을 출력을 한다. 2022. 12. 29.
백준 - 1998년생인 내가 태국에서는 2541년생?!(Python 3) 정답 print( int( input() ) - 543 ) 풀이 불기 원년(1년)은 서기전 544년이므로, 사용자가 입력하는 불기 연도에다 543을 빼주면 서기 년도를 구할 수 있다. 2022. 12. 29.
백준 - 소수 구하기, 파이썬 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net import math def is_prime_num(n): if n == 1: return False else: for i in range(2, int(math.sqrt(n))+1): if n % i == 0: return False return True M, N = map(int, input().split()) for i in range(M, N+1): if is_prime_num(i): print(i) 소수를 구할 때는 소수.. 2021. 12. 6.
백준 - 소인수분해, 파이썬 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net N = int(input()) i = 2 while N > 1: while (N % i) == 0: print(i) N //= i i += 1 아 2021. 12. 5.
백준 - 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() ) arr = list( permutations( range(1, n+1) , m) ) for i in arr: for j in i: print(j,"", end='') print() 리스트의 조합에 관련된건 itertools 라이브러리를 사용하면 편하다. 참고: https:.. 2021. 12. 5.
백준 - 뒤집기, 파이썬 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net s = input() count = 0 oneCount = 0 zeroCount = 0 for i in s.split("0"): if "1" in i: oneCount += 1 for i in s.split("1"): if "0" in i: zeroCount += 1 if oneCount < zeroCount: print(oneCount) else: print(zeroCount) 0혹은 1를 기준.. 2021. 12. 5.
백준 - 쉽게 푸는 문제, 파이썬 https://www.acmicpc.net/problem/1292 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net a, b = map(int, input().split()) arr = [0,] for i in range(1, 1001): for j in range(i): arr.append( i ) sum = 0 for j in range(a, b+1): sum += arr[j] print(sum) 수열이 1 22 333 4444 55555... 요런식으로 숫자의 수만큼 수열이 반복됨. 그리고 처음에 입력 받은 사이즈 만큼 sum을.. 2021. 12. 5.
백준 - 베스트셀러, 파이썬 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net N = int( input() ) books = {} for _ in range(N): book = input() if book in books: books[book] += 1 else: books[book] = 1 books = sorted( books.items(), key=lambda x: x[0] ) # 팔린 책이 여러 개일 경우에는 사전 순으로 가장 앞서는 제목을 출력한다. boo.. 2021. 12. 5.
백준 - 좌표 정렬하기 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 N = int( input() ) arr = [] for _ in range(N): arr.append( list( map(int, input().split()) ) ) arr.sort( key=lambda x: (x[1], x[0]) ) for i in arr: print( i[0], i[1] ) 이전 문제 "좌표 정렬하기"에서 했던 부분.. 2021. 12. 5.
백준 - 좌표 정렬하기, 파이썬 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 N = int( input() ) arr = [] for _ in range(N): arr.append( list( map(int, input().split()) ) ) arr.sort( key=lambda x: (x[0], x[1]) ) for i in arr: print( i[0], i[1] ) sort를 줄 때 key=lambda x를 (.. 2021. 12. 5.
백준 - 단어 정렬, 파이썬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net N = int(input()) arr = [] for _ in range(N): s = input() arr.append( [ len(s), s ] ) arr.sort(key=lambda x: (x[1]) ) arr.sort(key=lambda x: (x[0]) ) tmp = [] for i in arr: if i[1] not in tmp: tmp.append( i[1] ) for i .. 2021. 12. 5.
728x90
반응형