현재
[AtcoderBeginnerContest][248][A]Lacked Number 본문
<문제 의도>
배열의 구조를 이해하고 String
<코드 설명>
// 문제 설명
// 숫자로 구성된 길이가 정확히 9인 문자열 S가 주어진다. 0부터 9까지의 모든 숫자가 S에 정확히 한 번 나타난다.
// S에서 누락된 유일한 숫자를 인쇄하라.
// 제약
// S는 숫자로 구성된 길이 9의 문자열이다.
// S의 모든 문자는 서로 다르다.
// 입력
// 입력은 다음 형식의 표준입력으로 제공된다.
// 출력
// S에서 누락된 유일한 숫자를 인쇄한다.
import java.util.*;
public class ABC_248_A_LackedNumber_Unsolved {
public static void main (String[]args){
Scanner scn = new Scanner(System.in);
String S = scn.nextLine(); // 길이 9
String checkS = "0123456789"; // 길이 10
int Array [] = new int [S.length()];
boolean checkArray [] = new boolean[checkS.length()];
for ( int x = 0 ; x < S.length() ; x++){
Array[x] = S.charAt(x); // Array[]에 char 0 ~9 까지 넣음(하나없음)
}
for ( int x = 0 ; x < 9 ; x++){
checkArray[Array[x]-'0'] = true;
}
for ( int x = 0 ; x <= 9 ; x++){
if ( checkArray[x] == false){
System.out.println(x);
break;
}
}
// for ( int x = 0 ; x < checkS.length(); x++){
// if ( checkArray[x] = false){
// System.out.println(x);
// }
// }
// for ( int k : Array){
// System.out.println(k);
// }
// for ( boolean k : checkArray){
// System.out.println(k);
// }
}
}
<주의점>
String으로 변환된 값을 받기 때문에 '0'값을 통해서 초기화 해주는게 필요하다.
그래도 char 값을 입력한다면 40이상의 수가 나오기 때문에 배열의 범위를 넘어서기 때문이다.
그리고 중복값이 나오는것을 방지하기 위해 break문을 사용하였다.
<문제 출처>
https://atcoder.jp/contests/abc248/tasks/abc248_a
A - Lacked Number
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
atcoder.jp
'알고리즘 > 백준' 카테고리의 다른 글
| [Java][BaekJoon][10811] 바구니 뒤집기 (★☆☆) (0) | 2023.09.23 |
|---|---|
| [Java][BaekJoon][3052] 나머지 (0) | 2023.09.12 |
| [Java][BaekJoon][5597] 과제 안 내신 분..? (0) | 2023.09.11 |
| [Java][BaekJoon][10813] 공 바꾸기 (0) | 2023.09.11 |
| [Java][BaekJoon][10810] 공 넣기 (0) | 2023.09.10 |