안녕하세요. 지난 포스팅의 BOJ 2775번 : 부녀회장이 될테야에서는 이차원 배열과 이중반복문을 이용해서 문제를 풀어보았습니다. 오늘도 조금 생각을 해야하는 문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 기본 구현능력 제출 코드 N = int(input()) if N % 5 == 0 : print(N // 5) else : cnt = 0 while True : N -= 3 cnt += 1 if N % 5 == 0 : print(cnt + N // 5) break elif N < 3 : print(-1) break 해설 입력 형식은 무게 $N$이 정수형으로 입력됩니다. 그리고 문제의 목적은 3Kg/5Kg 봉투를 최..
안녕하세요. 지난 포스팅의 BOJ 10250번 : ACM 호텔에서는 이차원 배열을 활용해서 문제를 풀어보았습니다. 오늘도 이차원 배열을 활용해서 문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 기본 구현능력 제출 코드 for _ in range(int(input())) : k = int(input()) n = int(input()) floor = [[i for i in range(1, n + 1)]] for i in range(1, k + 1) : line = [] for j in range(1, n + 1) : line.append(sum(floor[i - 1][:j])) floor.append(line) prin..
안녕하세요. 지난 포스팅의 BOJ 2869번 : 달팽이는 올라가고 싶다에서는 파이썬 내장 라이브러리 중 하나인 math 라이브러리의 ceil 함수를 이용해서 부등식 문제를 풀어보았습니다. 오늘은 약간 복잡한 문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 기본 구현능력 제출 코드 for _ in range(int(input())) : H, W, N = map(int, input().split()) i = 0 while True : if N > i * H and N
안녕하세요. 지난 포스팅의 BOJ 1193번 : 분수찾기에서는 그룹수열의 간단한 패턴을 분석하여 문제를 풀어보았습니다. 오늘은 부등식 문제를 해결하는 방법에 대해서 보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 math 라이브러리 제출 코드 import math A, B, V = map(int, input().split()) print(math.ceil((V - A) / (A - B) + 1)) 해설 기본적으로 이 문제의 입력은 3개의 변수($A, B, V$)가 공백을 가지고 입력되기 때문에 map 함수를 이용해서 입력을 받아줍니다. 일단, $x$을 달팽이가 $V$ 높이만큼 도달하는 날이라고 정의하겠습니다. 그리고 낮을..
안녕하세요. 지난 포스팅의 BOJ 1712번 - 손익분기점에서는 math 라이브러리를 이용해서 수학 문제를 풀어보았습니다. 오늘은 수열과 관련된 문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 계차수열(progression of differences) 제출 코드 N = int(input()) if N == 1 : print(1) else : k = 1 while True : if 3*k**2 - 3*k + 2 = N : print(k + 1) break k += 1 해설 이 문제의 핵심은 계차수열임을 빠르게 파악하는 것입니다. $N$의 범위에 따라서 결과는 일정하다는 것을 관찰할 수 있죠. $$\begin{align..