백준

백준 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;
      }
      
      }

  }
}