[SWEA] 1288. 새로운 불면증 치료법 [D2] - JAVA

yunh·2023년 1월 31일
0

알고리즘 - SWEA 🐣

목록 보기
101/103
post-thumbnail

📚 문제 : 새로운 불면증 치료법

📖 풀이

0부터 9까지의 boolean 배열을 만들어 방문표시를 한다.

0부터 9까지의 모든 수를 확인했는지 체크하고 다 True이면 그 때의 횟수를 출력한다.

입력으로 주어진 수의 각각의 숫자를 확인하기 위해 java에서는 charAt()를 활용한다. 그리고 각각을 정수로 바꿔주기 위해 Character.getNumericValue()을 사용한다.

📌 헷갈리지 말 것!

String인 경우는 Interger.paseInt()를 사용하지만

CharacterCharacter.getNumericValue()를 사용!

📒 코드

import java.util.Scanner;

// 1288. 새로운 불면증 치료법
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		for (int tc = 1; tc <= t; tc++) {
			int cnt = 0;
			int ans = 0;
			boolean[] visited = new boolean[10];
			int n = sc.nextInt();
			int num = 0;
			
			while(cnt < 10) {
				ans += 1;
				num += n;
				String string_num = Integer.toString(num);
				for (int i = 0; i < string_num.length(); i++) {
					int number = Character.getNumericValue(string_num.charAt(i));
					if (!visited[number]) {
						visited[number] = true;
						cnt += 1;
					}
				}
			}
			System.out.println("#" + tc + " " + num);		
		}
		sc.close();
	}
}
profile
passionate developer

0개의 댓글