Programming/BOJ(37)
-
BaekJoon Online Judge // 1011
BaekJoon Online Judge 1011번 "Fly me to the Alpha Centauri" 문제입니다. TC = int(input()) for i in range(0, TC): x, y = map(int, input().split()) k = y - x n = 1 l = 0 t = 1 while (1): if k l + n: t += 1 break l += 2*n n += 1 t += 2 print(t)
2021.03.17 -
백준 BaekJoon Online Judge // 2750
백준 알고리즘 BaekJoon Online Judge 2750번 "수 정렬하기" 문제입니다. N = int(input()) lst = [] for i in range(N): lst.append(int(input())) for i in range(N-1): for j in range(N-1-i): if lst[j] > lst[j+1]: lst[j], lst[j+1] = lst[j+1], lst[j] for ele in lst: print(ele) 정렬 문제다. 시간 제한이 널널한 정렬이기 때문에 버블 정렬을 사용하였다. 버블 정렬은 아래의 링크를 참조하자. ko.wikipedia.org/wiki/%EA%B1%B0%ED%92%88_%EC%A0%95%EB%A0%AC 거품 정렬 - 위키백과, 우리 모두의 백과사..
2021.01.28 -
백준 BaekJoon Online Judge // 1436
백준 알고리즘 BaekJoon Online Judge 1436번 "영화감독 숌" 문제입니다. N = int(input()) i = 666 lst = [] while len(lst) < N: if "666" in str(i): lst.append(i) i += 1 print(lst[len(lst)-1]) "666"이 들어간 수들 중에서 N번째로 큰 수를 구하는 문제다. 브루트 포스 알고리즘 문제 중의 하나인 만큼 시간은 크게 상관없이 단순무식하게 풀면된다. 시간을 조금이라도 줄이고자 하면 666부터 시작해서 1씩 증가시킨 후 문자열로 변환시켜서 "666"이 포함되어 있는지 in 으로 확인하면 된다. 리스트에 저장하면서 리스트의 길이가 N이 될 때까지 저장 후 저장된 리스트의 가장 마지막 인덱스의 값을 불러..
2021.01.27 -
백준 BaekJoon Online Judge // 7568
백준 알고리즘 BaekJoon Online Judge 7568번 "덩치" 문제입니다. N = int(input()) lst = [] for i in range(N): W, H = map(int, input().split()) lst.append([W, H, 1]) for i in range(0, len(lst)): for j in range(0, len(lst)): if i == j: continue if lst[i][0] < lst[j][0] and lst[i][1] < lst[j][1]: lst[i][2] += 1 for ele in lst: print(ele[2], end=" ") print() 여기서 "A는 B보다 덩치가 크다" 라는 말은 몸무게와 키가 둘다 A가 B보다 크다는 말이다. 몸무게와 ..
2021.01.27 -
백준 BaekJoon Online Judge // 2231
백준 알고리즘 BaekJoon Online Judge 2231번 "분해합" 문제입니다. N = input() sumN = 0 lst = [] for i in range(max(int(N)-9*len(N),0), int(N)+1): temp = 0 for ele in str(i): temp += int(ele) if int(N) == (i + temp): lst.append(i) if len(lst) == 0: print(0) else: print(lst[0]) 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245..
2021.01.26 -
백준 BaekJoon Online Judge // 2798
백준 알고리즘 BaekJoon Online Judge 2798번 "블랙잭" 문제입니다. import sys from itertools import combinations N, M = map(int, input().split()) lst = list(map(int, sys.stdin.readline().split())) items = list(combinations(lst, 3)) temp = [] for item in items: if sum(item)
2021.01.26