본문 바로가기
반응형

전체 글252

[백준][Python] 16937번 두 스티커 16937번: 두 스티커 첫째 줄에 모눈종이의 크기 H, W, 둘째 줄에 스티커의 수 N이 주어진다. 다음 N개의 줄에는 스티커의 크기 Ri, Ci가 주어진다. www.acmicpc.net 코드 import sys h, w = map(int,input().split()) n = int(input()) sticker = [] for _ in range(n): r,c = map(int,sys.stdin.readline().split()) sticker.append([r,c]) max_n = 0 for i in range(n): r1 = sticker[i][0] c1 = sticker[i][1] for j in range(i+1,n): r2 = sticker[j][0] c2 = sticker[j][1] if .. 2022. 7. 8.
[백준][Python] 5568번 카드 놓기 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 코드 1 from itertools import permutations n = int(input()) k = int(input()) n_list = [] dic = {} cnt = 0 for _ in range(n): n_list.append(int(input())) m_list = list(permutations(n_list,k)) for a in m_list: b = '' for i in a: b += str(i) if b not in dic: dic[b] = 1 cnt+=1 print(cnt) permutations 함수를 이용해서 만들 수 있는 모든.. 2022. 7. 8.
[백준][Python] 2503번 숫자 야구 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 코드 import sys from itertools import permutations n = int(input()) n_list = [] for i in range(n): a = list(map(int,sys.stdin.readline().split())) n_list.append(a) items = [1,2,3,4,5,6,7,8,9] i_list = list(permutations(items,3)) cnt = 0 for a in i_list: flag = 0.. 2022. 7. 7.
[백준][Python] 18511번 큰 수 구성하기 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 www.acmicpc.net 코드 from itertools import product n, m = map(int,input().split()) k = list(map(int,input().split())) k.sort(reverse=True) length = len(str(n)) while 1: num = list(product(k, repeat=length)) for a in num: a_num = int(''.join(map(str,a))) if a_num 2022. 7. 7.
[백준][Python] 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 2422번: 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 첫째 줄에 정수 N과 M이 주어진다. N은 아이스크림 종류의 수이고, M은 섞어먹으면 안 되는 조합의 개수이다. 아래 M개의 줄에는 섞어먹으면 안 되는 조합의 번호가 주어진다. 같은 조합은 두 번 www.acmicpc.net 코드 from collections import defaultdict import sys n,m = map(int,input().split()) cnt = 0 dic = defaultdict(list) for _ in range(m): a,b = map(int,sys.stdin.readline().split()) dic[a].append(b) dic[b].append(a) for i in range(1,n+1): for j .. 2022. 7. 6.
[백준][Python] 1969번 DNA 1969번: DNA DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오 www.acmicpc.net 코드 n,m = map(int,input().split()) dna_list = [] hd = 0 ans = [] for i in range(n): dna = list(input()) dna_list.append(dna) for i in range(m): cnt = {'A':0,'C':0,'G':0,'T':0} sum = 0 for j in range(n): cnt[dna_list[j][i]] += 1 for k in.. 2022. 7. 6.
[백준][Python] 18312번 시각 18312번: 시각 정수 N과 K가 입력되었을 때 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 모든 시각을 세는 프로그램을 작성하시오. 시각을 셀 때는 디지털 시계를 기준으로, www.acmicpc.net 코드 n,k = map(int,input().split()) h,m,s = 0,0,0 cnt = 0 k = str(k) for h in range(0,n+1): if h < 10: h = '0' + str(h) for m in range(0,60): if m < 10: m = '0' + str(m) for s in range(0,60): if s < 10: s = '0' + str(s) if k in str(h) or k in str(m) or k in s.. 2022. 7. 5.
[백준][Python] 19532번 수학은 비대면강의입니다 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 코드 a,b,c,d,e,f = map(int,input().split()) for x in range(-999,1000): for y in range(-999,1000): if (a*x + b*y == c) and (d*x + e*y == f): print(x,y) break 설명 -999부터 999까지 차례대로 다 집어넣어서 x와 y값을 구했다. 2022. 7. 5.
[백준][Python] 2231번 분해합 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 코드 n = int(input()) flag = 0 for i in range(1,n+1): num = list(map(int,str(i))) num = i + sum(num) if n == num: print(i) flag = 1 break if flag == 0: print(0) 설명 숫자를 str형으로 받아서 숫자 하나씩 list에 넣었다. 가장 작은 생성자를 찾아야 되기 때문에 1부터 시작을 했다. for문이 끝날 때까지 fl.. 2022. 7. 4.
반응형