Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 하이터치☆메모리
- 소마
- 홀수 홀릭 호석
- 25195
- 백준
- God of Mine
- blobaww
- 숫자 맞추기
- BOJ
- 1인개발
- 7626
- 개발
- Australian Voting
- 24501
- AI
- k개 사과 트리 노드만으로 배를 최대로 수확하기
- 소프트웨어마에스트로
- 2085
- MemoSprint
- 34031
- 외국어이름
- paper
- TaskQ
- 알고리즘
- barin tumor
- TripGuard
- Fitmong
- 2494
- 25977
- Classification
Archives
- Today
- Total
iwanabethedev 님의 블로그
[boj 33892] 2025 만들기 본문
주어진 N에 대해서, 1~N 까지의 정수를 가지고 2025라는 정수를 만들 수 있는지 묻는 문제입니다.
가능한 연산은 +, -, * 입니다.
케이스를 나눠보면,
1) N이 7보다 작으면 어떻게 해도 2025를 만들 수 없습니다.
2) N이 7보다 크거나 같으면 2025를 만들 수 있습니다.
N이 7일 때,
1+4, 5*5, 2+7, 3+6, 9*9, 25*81 로 2025가 완성되며
N이 9일 때,
1+4, 5*5, 2+7, 3+6, 9*9, 25*81, 9-8, 2025*1
N 이 7 이상의 모든 홀수에서 위와 같은 방법으로 2025가 만들어지며,
마찬가지로 N이 8일 때 2025를 만들 수 있는 방법이 있으며, 따라서 모든 7보다 크거나 같은 N에 대해서 2025를 만드는 방법이 생깁니다.
코드는 아래와 같습니다.
더보기
import sys
input = sys.stdin.readline
def solve():
N = int(input())
if N < 7:
print("NO")
return
print("YES")
if N%2:
ans = "1 + 4\n5 * 5\n2 + 7\n3 + 6\n9 * 9\n25 * 81"
for i in range(8, N+1, 2): ans += f"\n{i+1} - {i}\n2025 * 1"
else:
ans = "1 + 8\n2 + 7\n9 * 9\n3 + 6\n9 - 4\n5 * 5\n25 * 81"
for i in range(9, N+1, 2): ans += f"\n{i+1} - {i}\n2025 * 1"
print(ans)
return
def main():
solve()
return
if __name__ == "__main__":
solve()

'알고리즘' 카테고리의 다른 글
| [boj 25977] k개 사과 트리 노드만으로 배를 최대로 수확하기 (0) | 2026.03.25 |
|---|---|
| [boj 34031] 하이터치☆메모리 (0) | 2026.03.24 |
| [boj 4013] ATM (0) | 2026.03.23 |
| [boj 2085] 진법 (0) | 2026.03.22 |
| [boj 32406] 의좋은 형제 (0) | 2026.03.21 |
