[ BOJ / Python ] 14913번 등차수열에서 항 번호 찾기

황승환·2022년 2월 12일
0

Python

목록 보기
176/498


이번 문제는 a가 k와 다를 동안 반복하는 while문 안에서 d가 0보다 작을 경우에는 a가 k보다 작아진 경우 k가 될 수 없는 것이므로 반복문을 종료하고, d가 0보다 큰 경우에는 a가 k보다 커진 경우 k가 될 수 없는 것이므로 반복문을 종료하도록 하였다. 반복문 이후 a와 k가 다르다면 예외처리를 하고 같다면 카운팅 변수를 출력하도록 작성하였다.

  • a, d, k를 입력받는다.
  • 카운팅 변수 cnt를 1로 선언한다.
  • a가 k와 다를 동안 반복하는 while문을 돌린다.
    -> cnt를 1 증가시킨다.
    -> a에 d를 더한다.
    -> 만약 d가 0보다 작고, a가 k보다 작을 경우, 반복문을 탈출한다.
    -> 만약 d가 0보다 크고, a가 k보다 클 경우, 반복문을 탈출한다.
  • 만약 a와 k가 같다면, cnt를 출력한다.
  • 그 외에는 X를 출력한다.

Code

a, d, k=map(int, input().split())
cnt=1
while a!=k:
    cnt+=1
    a+=d
    if d<0 and a<k:
        break
    if d>0 and a>k:
        break
if a==k:
    print(cnt)
else:
    print('X')

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글