백준 2231(브루트 포스 발상!!)

김경욱·2025년 8월 9일

백준

목록 보기
38/121

import java.util.;
import java.io.
;

public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int N = Integer.parseInt(br.readLine());


int result = 0;

int start = Math.max(1,N-9*String.valueOf(N).length());

for (int i = start; i <=N; i++)
  {
    int sum = i;

    int temp=i;

    while (temp > 0)
      {
        sum+=temp % 10;
        temp /= 10;
        
      }

    if (sum == N)
    {
      result = i;
      System.out.println(result);
      return;
    }

    

    




    
  }
System.out.println(result);



            

}
} 브루트 포스이다. 너무 어렵다. int start변수를 선언할 때 Math.max(1,N-9*String.valueOf(N).length())를 이용하여 구하는 것을 보았을 때. 너무나도 어려워 보였다. 이런 생각을 하는 발상이 너무나도 신기했다. 또한 while문에서도 나머지와 나누기를 이용해서 각자리의 숫자를 더하는 발상도 너무나도 창의적이였다. 문제가 나에게 너무 생소하여 창의적이게 느껴졌다. 이러한 발상을 기억하는게 좋을 것 같다!!

0개의 댓글