반응형
문제
풀이
연속적으로 666을 포함하는 숫자 중에 작은 숫자가 차례대로 나와야 한다
666 → 1666 → 2666 → 3666 → 4666 → 5666 → 6666 이 아닌 6660 → 6661 → 6662 가 되어야 한다
while문으로 666부터 1씩 더하면서 contains 함수로 666이 포함이 되면 count를 추가하는 방식으로 해결하였다
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = 0;
int num = 666;
while (count < N) {
if (String.valueOf(num).contains("666")) {
count++;
}
num += 1;
}
System.out.println(num - 1);
}
}
처음 문제를 보곤 N - 1 에다가 666 글자만 붙이면 되는 거 아닌가?라는 생각을 하고 코드 제출했을 때 실패를 해서 왜 실패를 하지?라는 생각에 시간을 많이 소비했다
출처
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 2884번 알람시계 자바 java (0) | 2021.04.11 |
---|---|
백준 1110번 더하기 사이클 자바 java (0) | 2021.04.10 |
백준 1018번 체스판 다시 칠하기 자바 java (0) | 2021.04.09 |
백준 7568번 덩치 자바 java (0) | 2021.04.09 |
백준 2798번 블랙잭 자바 java (0) | 2021.04.08 |
댓글