본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 3][Python] 14913번 : 등차수열에서 항 번호 찾기

by 빛밤하늘 2021. 7. 1.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

14913번: 등차수열에서 항 번호 찾기

k가 몇 번째 항인지 출력한다. 만약, k가 주어진 a와 d로 만들어진 등차수열의 수가 아니면 "X"를 출력한다.

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# readline을 사용하기 위해 import합니다.
from sys import stdin


# 첫 줄에 첫 항 a, 공차 d, 찾는 수 k를 공백으로 구분해 입력합니다.
# 각각 정수형으로 변환합니다.
a, d, k = map(int, stdin.readline().split(' '))
# 등차수열의 공식 a+(n-1)d = k을 dn = k - a + d로 계산하여 값을 저장한 변수를 선언합니다.
dn = k - a + d

# n을 구하기 위해 dn을 d로 나누었을 때 나머지가 0이고 그 n이 1보다 크거나 같다면
if dn % d == 0 and dn // d >= 1:
    # k는 등차수열의 수가 맞으므로 몇 번째 항인지 출력합니다.
    print(dn // d)
# 그 외의 경우에는
else:
    # k는 등차수열의 수가 아니므로 X를 출력합니다.
    print("X")

결과

 

처음 제출했을 때는 k가 등차수열에 속하는 수인지 조건을 확인할 때,

a+(n-1)d에서 n이 1보다 크거나 같아야된다는 조건인 dn // d >= 1을 넣지 않아 

틀렸습니다 결과가 나오게 되었습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글