Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 1526번 - '가장 큰 금민수' (PYTHON 풀이) 본문
문제:

N을 입력받고 1부터 N까지 비교해서 4와 7로만 이루어진 숫자 중 가장 큰 값을 출력하면 되는 문제이다.
풀이:
N = int(input())
for i in range(N, 0, -1):
for j in str(i):
if j != '4' and j != '7':
break
else:
print(i)
break
우선 1부터 N까지 비교하는 방법과 N부터 1씩 내려가는 방법이 있는데 문제는 가장 큰 값을 구하면 되므로 당연히 후자가 더 효율적일 것이다. 필자도 해당 방법을 사용하였다.
그래서 반복문을 N부터 -1씩 줄어들도록 조건을 설정하였고, 4 또는 7이 아닌 4와 7로만 이루어져있는 숫자를 찾아야 하기 때문에 이 계산을 위해 str을 활용해 문자열로 변환하였다.(일반 숫자 형태는 in을 활용해서 자릿수 비교가 안됨!) 그 다음 if문안에 각 자릿수가 4, 7 둘 다 아니면 반복문을 탈출하도록 하고, 4이거나 7이라면 else문으로 들어가서 바로 i를 출력하도록 하였다.
앞서 말한 것처럼 가장 큰 값을 구하는 것이므로 N부터 1까지 -1씩 진행될 때 첫번째 출력 값이 가장 큰 값이 될 것이다.
'CODING 💻' 카테고리의 다른 글
| 백준 15969번 - '행복' (PYTHON 풀이) (0) | 2026.03.27 |
|---|---|
| 백준 16486번 - '운동장 한 바퀴' (PYTHON 풀이) (0) | 2026.03.26 |
| 백준 2985번 - '세 수' (PYTHON 풀이) (0) | 2026.03.24 |
| 백준 27959번 - '초코바' (PYTHON 풀이) (0) | 2026.03.23 |
| 백준 26489번 - 'Gum Gum for Jay Jay' (PYTHON 풀이) (0) | 2026.03.22 |
