최대 1 분 소요

[백준 1526번] 가장 큰 금민수

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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class 백준_손수경_정답_1526 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        for (int i = n; i >= 4; i--) {
            boolean isAns = true;
            int num = i;
            while (num != 0) {
                //끝자리가 4 또는 7인 수를 찾는다. 
                if (num % 10 == 4 || num % 10 == 7) {
                    num /= 10;
                }
                else {
                    isAns = false;
                    break;
                }
            }
            if (isAns) {
                System.out.println(i);
                break;
            }
        }
    }
}
 
cs

풀이 방법

반복문을 돌리면서 n부터 1씩 줄여나가면서 4와 7로 이루어진 수인지 아닌지를 판별한다. 4와 7로 이루어진 수인지 아닌지를 판별하는 방법은 다시 반복문을 돌리면서 일의 자리부터 4와 7인 수인지 아닌지를 판별한다.

댓글남기기