처음 시도 방법
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int i = 0;
int cnt = 0;
String t = "0";
while (cnt < n){
t = Integer.toString(i);
if (t.length() - t.replace("666", "").length() == 3){
cnt++;
}
i++;
}
System.out.println(t);
}
}
replace를 통해 666을 지우고 지우기 전과 후에 길이 차이가 3이면 cnt를 1씩 증가시키는 방법
주어진 예제입력에 대해서는 모두 정답이였지만 어째서인지 제출하면 계속 틀렸다....
package backjun.Dbruteforce;
import java.util.Scanner;
public class 영화감독숌 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int i = 0;
int cnt = 0;
String t = "0";
while (cnt < n){
t = Integer.toString(i);
if (t.contains("666")) {
cnt++;
}
i++;
}
System.out.println(t);
}
}
contains를 통해 문자열 안에 666이 포함되어에 있는지 확인하는 방식
다른 예기지만 int를 String으로 바꾸는 방법 두가지
Integer.toString(i)
String.valueOf(i)