[白俊]1436号:映画監督
質問する
感じます
666が連続して少なくとも3回以上入っていることを確認するために、最初はその6かどうかを数字で分けて見る方式で行われていましたが、複雑すぎることに気づき、どうすればいいのか探し始めました.まず文字列に変換して「666」文字列が含まれているかどうかを確認すると、使用
contains()
メソッドで可能なヒントさえ得られます.そしてね.
while(true)は反復文の理解不足のため1時間30分反復した.結局2時間以内に解けた.
while私はもっと複文を勉強すべきだと思います.
基本概念
666が含まれているかどうかを確認する場合は、文字列を使用して識別することが望ましい.
cf.
int->String:
String.valueOf()
私Integer.toString()
String -> int : Integer.valueOf()
Javaで、文字列に文字が含まれているかどうかを確認します。
contains()
booleans contains(CharSequence s)
public class baek_1436 {
public static void main(String[] args) {
String str = "1999666";
System.out.println(str.contains("666")); // true
System.out.println(str.contains("9")); // true
System.out.println(str.contains("66 ")); // false (공백구분)
}
}
indexOf()
int indexOf(String str)
public class baek_1436 {
public static void main(String[] args) {
String str1 = "Hello World!";
if(str1.indexOf("World") != -1)
{
System.out.println(str1.indexOf("World"));
// 6
System.out.println("The String "+str1+" contains World");
// The String Hello World! contains World
}
else
{
System.out.println("The String "+str1+"does not contain World");
}
}
}
に答える
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int count = 0; // N과 비교하기 위한 ~번째
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 입력받는 ~번째
sc.close();
int num = 666; // 출력되는 N번째 수
String str = String.valueOf(num);
while(true) {
if(str.contains("666")) {
count++;
//System.out.println(count);
}
if(count == N){
System.out.println(num);
break;
}
num++;
str = String.valueOf(num);
}
}
}
References
Javaで、文字列に文字が含まれているかどうかを確認します.
https://www.delftstack.com/ko/howto/java/how-to-check-if-a-string-contains-character-in-java/
contains()メソッド
https://mine-it-record.tistory.com/137
ブログありがとうございます
https://st-lab.tistory.com/103
Reference
この問題について([白俊]1436号:映画監督), 我々は、より多くの情報をここで見つけました https://velog.io/@letsbebrave/백준-1436번-영화감독-숌テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol