반응형
문제
네 자리 연도에 대해, 연도의 앞 두 자리와 뒤 두 자리를 더한 뒤 제곱한 값이 원래 연도와 같은 해를 “특별한 해” 라고 부른다.
예를 들어, 년은 이므로 특별한 해이다.
하지만, 년은 이므로 특별한 해가 아니다.
네 자릿수 가 주어지면, 년 또는 그 이후에 있는 가장 빠른 “특별한 해”가 언제인지 구하자.
입력
첫 번째 줄에 정수 가 주어진다.
출력
년 또는 그 이후에 있는 가장 빠른 “특별한 해”가 년이라면, 정수 를 첫 번째 줄에 출력한다.
만약 그런 해가 존재하지 않는다면 대신 을 출력한다.
제한
- 주어지는 모든 수는 정수이다.
예제 입력 1
2024
예제 출력 1
2025
예제 입력 2
2025
예제 출력 2
3025
예제 입력 3
9999
예제 출력 3
-1
슬라이싱, 제곱
n = int(input())
answer = -1
for y in range(n+1, 10000):
c = str(y)
a, b = int(c[:2]), int(c[2:])
if (a+b)**2 == y:
answer = y
break
print(answer)반응형
'알고리즘' 카테고리의 다른 글
| [BAEKJOON] 28014 첨탑 밀어서 부수기 (0) | 2026.01.27 |
|---|---|
| [BAEKJOON] 5613 계산기 프로그램 (1) | 2026.01.27 |
| [BAEKJOON] 27294 몇개고? (1) | 2026.01.08 |
| [BAEKJOON] 33964 레퓨닛의 덧셈 (0) | 2025.12.10 |
| [BAEKJOON] 9946 단어 퍼즐 (0) | 2025.11.19 |