[백준/파이썬] 14913번 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 14913번 문제
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
등차수열이란 다음과 같이 연속하는 두 수의 차이가 일정한 수열을 뜻한다.
-
1, 3, 5, 7, 9, …, 2n-1
-
2, 4, 6, 8, 10, …, 2n
-
1, 5, 9, 13, 17, …, 4n-3
-
-1, -3, -5, -7, -9, …, -2n+1
-
a, a+d, a+2d, a+3d, ,,,. a+(n-1)d
등차수열에서 인접한 두 수의 차이를 공차라고 한다.
첫 항 a와 공차 d로 만든 등차수열에서 주어진 k가 몇 번째 항인지 찾아서 출력하는 프로그램을 작성하시오
입력 요약
첫 줄에 나란히 세 정수가 주어진다.
-
첫째 수: 첫 항 a (-1,000 < a < 1,000)
-
둘째 수: 공차 d (-1,000 < d < 1,000, d ≠ 0)
-
셋째 수: 찾는 수 k (-1,000,000 < k < 1,000,000)
출력 요약
k가 몇 번째 항인지 출력한다. 만약, k가 주어진 a와 d로 만들어진 등차수열의 수가 아니면 “X”를 출력한다.
코드
a,d,k=map(int,input().split())
n=(k-a)//d
print(n+1 if n>-1 and n*d+a==k else'X')
설명
핵심은 구현 관점에서 등차수열이란 다음과 같이 연속하는 두 수의 차이가 일정한 수열을 뜻한다.
-
1, 3, 5, 7, 9, …, 2n-1
-
2, 4, 6, 8, 10, …, 2n
-
1, 5, 9, 13, 17, …, 4n-3 …를 만족하도록 로직을 구성하는 것입니다.
코드는 입력을 파싱한 뒤 조건 분기와 계산을 순서대로 수행하고, 문제에서 요구한 형식으로 결과를 출력합니다.
경계값과 예외 케이스도 함께 고려해 오답이 나기 쉬운 상황을 방지합니다.
댓글남기기