파이썬
-
[백준] 15650번_N과M(2)Study/알고리즘 2020. 1. 29. 14:12
문제 링크 : https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net from itertools import combinations n,m = map(int,input().split()) perms = combinations(range(1,n+1),m) for p in perms: print(' '.join(map(str,p))) 앞선 문제와 같다.
-
[백준] 15649번_N과M(1)Study/알고리즘 2020. 1. 29. 12:09
문제 링크 : https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net from itertools import permutations n, m = map(int,input().split()) nums = [i for i in range(1,n+1)] perms = list(permutations(nums,m)) for perm in perms: for p in range(len(perm)): print(perm[p],end=" ") print..
-
[백준] 1051번_숫자정사각형Study/알고리즘 2020. 1. 28. 22:29
문제 링크 : https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N*M크기의 직사각형이 있다. 각 칸은 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 열에 평행해야 한다. www.acmicpc.net size = 0 n,m = map(int,input().split()) rec = [list(input()) for _ in range(n)] for i in range(n-1): for j in range(m-1): num = rec[i][j] for k in range(i+1,n): if rec[k][j] == num: length = k-i try: i..
-
[백준] 1018번_체스판다시칠하기Study/알고리즘 2020. 1. 28. 21:34
문제 링크 : https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net n,m = map(int,input().split()) board = [list(input()) for _ in range(n)] color = n*m for i in range(n-7): for j in range(m-7): #흰 w=0 for k in range(i,i+8): for s in range(j,j+8): if (k%2==0 and s%2==0) or (k%2=..
-
[백준] 1436번_영화감독숌Study/알고리즘 2020. 1. 28. 16:07
문제 링크 : https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조 www.acmicpc.net n = int(input()) end = [666] e = end[len(end)-1]+1 while len(end)!..
-
[백준] 7568번_덩치Study/알고리즘 2020. 1. 28. 13:49
문제 링크 : https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y>q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56,177), (45,165) 라고 한다면 A의 덩치가 B보다 큰 www.acmicpc.net n = int(input()) people = [] for _ in range(n): people.append(list(map(..
-
[백준] 2231번_분해합Study/알고리즘 2020. 1. 28. 12:17
문제 링크 : https://www.acmicpc.net/problem/2231 2231번: 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그 www.acmicpc.net # string으로 처리 def decom(k): deN = [] for i in range(len(k)): deN.appe..
-
[백준] 2798번_블랙잭Study/알고리즘 2020. 1. 28. 11:23
문제 링크 : https://www.acmicpc.net/problem/2798 2798번: 블랙잭 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버젼의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 www.acmicpc.net from itertools import combinations import sys n,m = list(map(int,sys...