반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
1. map, split를 사용하는 입력 방식
실수나 정수인 여러 값들이 입력값일 때,
split 메서드를 사용해 공백이나 어떤 문자를 기준으로 입력값을 여러 값들로 분리하고,
map 내장 함수로 각각의 값들을 int형이나 float형으로 정수, 실수 자료형으로
변환하는 기법은 매우 많이 쓰입니다.
코드 이해부터 하고 나면 다른 문제에서도 외운 듯이 사용해봅시다.
num1, num2 = map(int, sys.stdin.readline().split())
2. 몇 번 반복해야될까?
1번째 항은 시작 값 a이므로 n번째 항을 구하기 위해서는 n-1번만큼만 반복하면 됩니다.
예제 설명
1. 첫 번째 예제
- 입력
2 -1 3 5
- 출력
2
- 설명
입력한 시작 값 a, 곱할 값 b, 더할 값 c, 몇 번째 항인지 나타내는 정수 n은 각각 2, -1, 3, 5입니다.
n번째 항을 계산하는 방법은 (이전 항의 값인 n-1번째 항의 값) * (곱할 값 b) + (더할 값 c)이므로,
1번째 항부터 5번째 항까지 차례대로 계산해보면
- 1번째 항 : 2
- 2번째 항 : 2 * (-1) + 3 = 1
- 3번째 항 : 1 * (-1) + 3 = 2
- 4번째 항 : 2 * (-1) + 3 = 1
- 5번째 항 : 1 * (-1) + 3 = 2
이므로 5번째 항의 값은 2입니다. 따라서 2를 출력합니다.
생각한 풀이 과정
-9 <= a, b, c <= 9, 1<= n <= 9인 시작 값 a, 곱할 값 b, 더할 값 c, 몇 번째 항인지 나타내는 정수 n을
공백으로 구분해 입력합니다.
1번째 항은 시작 값 a이므로 n번째 항을 구하기 위해서는 n-1번만큼 반복해서 계산하면 됩니다.
n-1번만큼 반복하는 반복문을 만듭니다.
a의 값에 곱할 값 b를 곱하고 더할 값 c를 더해 다시 변수 a에 저장합니다.
반복문이 끝나면 n번째 항의 값인 변수 a의 값을 출력합니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 시작 값 a, 곱할 값 b, 더할 값 c, 몇 번째 항인지 나타내는 정수 n을 공백으로 구분해 입력합니다.
# -9 <= a, b, c <= 9
# 1 <= n <= 9
# 각각 int형으로 변환합니다.
a, b, c, n = map(int, stdin.readline().split())
# 첫 번째 항은 시작 값 a이므로 n - 1번 반복 계산하면 n번째 항을 구할 수 있습니다.
# 따라서 n - 1번만큼 반복해봅니다.
for _ in range(n - 1):
# 현재 항의 값인 a의 값에 b를 곱하고 c를 더해 다시 변수 a에 저장합니다.
a = a * b + c
# 수열의 n번째 항의 값인 a의 값을 출력합니다.
print(a)
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
※ 공감 버튼❤과 구독 버튼도 잊지 말고 꾹 눌러주시면 감사하겠습니다~👍👍
반응형
댓글