백준 1436 자바(666)

정호윤·2023년 3월 8일

자바

목록 보기
19/46

부르트포스 문제이다.한번 코드를 짜고나면 이해가 쉬운데 처음에 짜는게 어려운거 같다.

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;



class Main{
    public static void main(String[] args){
     Scanner sc = new Scanner(System.in);
     int N = sc.nextInt();

     int num = 666;
     int count = 1; // 횟수를 세는 변수

     while(count != N){
      num++;
      if(String.valueOf(num).contains("666")){ // 666을 포함할 때만 카운트를 올려준다.
        count++;
      }
    }
    System.out.println(num);
    }

}

contains() 메서드는 String에 특정 String이 포함되어있는지 유무를 true false로 반환한ㄷ.

count는 이 숫자가 몇번째 숫자인지 감지하는 변수로,내가 입력한 숫자와 같아질시 while문이 종료되게 된다.

한번 반복 될 때 마다 num이 하나씩 올라간다.올린 num이 666을 포함할 경우 count를 ++해준다.포함하지 않을 경우 올리지 않는다.이렇게 하면 666을 포함할 때만 count를 올려줄수 있다.

경우의 수를 따져서 알고리즘으로 푸는 방법도 있는데 그건 아직 잘 모르겠다.너무 어렵드라...

profile
개발자로 취직을 희망합니다.

0개의 댓글