(년도 - E)는 15, (년도 - S)는 28, (년도 - M)는 19로 나누어 떨어진다.모든 조건을 만족할 때까지 반복문을 사용하여 정답을 찾으면 된다.문제풀이E, S, M = map(int, input().split()) year = 1 while True: if (year - E) % 15 == 0 and (year - S) % 28 == 0 and (year - M) % 19 == 0: print(year) break year += 1
먼저 총감독관이 감시할 수 있는 응시자의 수를 뺀다. (cnt + 1)그리고 (남은 응시생 / 부감독관이 감시할 수 있는 수)를 cnt에 더한다.문제풀이N = int(input()) A = list(map(int,input().split())) B = list(map(int,input().split())) cnt = 0 for i in range(0,N): A[i] = A[i] - B[0] if A[i] > 0: if A[i] % B[1] == 0: cnt += A[i] // B[1] else: cnt += (A[i] // B[1]) + 1 cnt += 1 print(cnt)
f(1)일때는 경우의 수가 1, f(2)일때는 경우의 수가 2, f(3)일때는 경우의 수가 4, f(4)일때는 경우의 수가 7이다.이를 통해 추론해보면 f(n)을 구하기 위한 점화식이 f(n - 1) + f(n - 2) + f(n - 3) 라는 것을 확인할 수 있다.이 점화식을 이용해서 코드를 짜보니 성공적으로 문제가 풀어졌다.문제풀이DP = [0] * 11 DP[0:3] = 1,2,4 T = int(input()) for RPT in range(0,T): n = int(input()) for rpt in range(3,n): DP[rpt] = DP[rpt - 1] + DP[rpt - 2] + DP[rpt - 3] print(DP[n - 1],end="\n")