파이썬 백준 14935번
브론즈4
https://www.acmicpc.net/problem/14935
문제 보기
분류: 수학, 구현, 애드 혹
문제 풀기
주어진 F(x) 함수의 규칙에 따라 코드를 작성한다.
int 로 입력받은 주어진 숫자는 리스트에 각 자리별로 나누어 저장하고 리스트 첫 번째 숫자 x_ls[0] 와 리스트 길이 (x 의 자릿수) len(x_ls) 를 곱하여 변수 fx 에 저장한다.
fx = x_ls[0] * len(x_ls)
주어진 x 와 계산되어 나온 fx 가 다르면 재귀적으로 fnFXFunction(fx) 를 다시 실행하여 x == fx: 가 될 때까지 반복한다.
생각해 보면 이 규칙은 언젠가 한자리의 수가 만들어지기 때문에 무조건 FA 를 반환한다. 따라서 print("FA") 한 줄만 제출하여도 정답으로 처리된다.
코드 보기
import sys
inputdata = sys.stdin.readline
def fnFXFunction(x):
x_ls = [int(i) for i in str(x)]
print(x_ls) # test print
fx = x_ls[0] * len(x_ls)
print(fx) # test print
if x != fx:
fnFXFunction(fx)
elif x == fx:
print("FA")
if __name__ == "__main__":
x = int(inputdata().strip())
fnFXFunction(x)
# 932
# [9, 3, 2]
# 27
# [2, 7]
# 4
# [4]
# 4
# FA
'공부하기 > 백준' 카테고리의 다른 글
[Python] 백준 풀기 11725 - 트리의 부모 찾기 (0) | 2022.11.28 |
---|---|
[Python] 백준 풀기 2743 - 단어 길이 재기 (0) | 2022.11.27 |
[Python] 백준 풀기 5063 - TGN (0) | 2022.11.25 |
[Python] 백준 풀기 1373 - 2진수 8진수 (0) | 2022.11.24 |
[Python] 백준 풀기 10569 - 다면체 (0) | 2022.11.23 |