백준
백준 1526 가장 큰 금민수(Java)
Park DJ
2023. 1. 18. 02:24
https://www.acmicpc.net/problem/1526
1526번: 가장 큰 금민수
첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net

해석 및 팁
이 문제는 N이 주어졌을 때, N보다 작거나 같은 금민수 중 가장 큰 것을 출력하면 됩니다. n을 10으로 나눈 나머지가 4 또는 7 일 경우 10으로 나누고 반복하면 됩니다. 나머지가 4 또는 7이 아닌경우에는 check =1을통해 check = 0인 경우에만 출력하면 됩니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = n; i >= 4; i--) {
int check = 0;
int result = i;
while(result > 0) {
if(result % 10 == 4 || result % 10 == 7) result /= 10;
else {
check = 1;
break;
}
}
if(check == 0) {
System.out.println(i);
break;
}
}
}
}