Programming(106)
-
백준 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 -
SW Expert Academy // 3431
SW Expert Academy 3431번 "준환이의 운동관리" 문제입니다. TC = int(input()) ans = [] for tc in range(1, TC + 1): k = "#"+str(tc) L, U, X = map(int, input().split()) if X < L: k += " " + str(L-X) elif L
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 -
SW Expert Academy // 3499
SW Expert Academy 3499번 "퍼펙트 셔플" 문제입니다. TC = int(input()) ans = [] for tc in range(1, TC + 1): N = int(input()) string = list(input().split()) if N&1 == 1: alist = string[0:N//2+1] blist = string[N//2+1:N] else: alist = string[0:N//2] blist = string[N//2:N] k = "#"+str(tc) for i in range(N): if i&1 == 0: k += " " + alist[i//2] else: k += " " + blist[i//2] ans.append(k) for e in ans: print(e) 카드 ..
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 -
SW Expert Academy // 3750
SW Expert Academy 3750번 "Digit sum" 문제입니다. TC = int(input()) ans = [] for tc in range(1, TC + 1): n = 0 N = int(input()) while True: while N > 0: n += N%10 N //= 10 if n >= 10: N = n n = 0 else: break ans.append("#"+str(tc)+" "+str(n)) for e in ans: print(e) 자릿수가 한자리가 될 때까지 더해서 한자리가 되었을 경우 그 값을 구하는 문제다. 나머지 연산자(%)로 전부 다 더한 후 나온 값이 10이상(두 자리 이상)인지 확인한다. 만약 두 자리 이상일 경우 다시 연산을 하며 한 자리일 경우 반복문을 빠져나와..
2021.01.26