이것이 코딩 테스트다 - chapter04 - 예제4-2 시각
문제
정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오. 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있으므로 세어야 하는 시각이다.
- 00시 00분 03초
- 00시 13분 00초
반면에 다음은 3이 하나도 포함되어 있지 않으므로 세면 안 되는 시각이다.
- 00시 02분 55초
- 01시 27분 45초
생각
1. 완전 탐색으로 3중 for문을 통해 String으로 변환해서 contains로 "3"이 포함되면 반환하도록 설계 -> 백준 실패
2. 그렇다면 그냥 int형으로 2시 57분 03초 라면 25703이기때문에 시/분/초를 각각 10으로 나누어 나머지나 몫을 확인하는 방식으로
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
//이코테 4챕터 4-2 시각 //백준 18312
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int count=0;
for(int i=0;i<=N;i++) {
for(int j=0;j<60;j++) {
for(int k=0;k<60;k++) { //String 으로 변환해서 contains로 하면 틀림
if(i % 10 == M || i / 10 == M || j% 10 == M || j / 10 == M || k % 10 == M || k / 10 == M) {
count++;
}
}
}
}
System.out.println(count);
}
}
'알고리즘 > 구현' 카테고리의 다른 글
자바 이것이 코딩 테스트다 - chapter04 - 3 게임 개발 (1) | 2024.10.13 |
---|---|
자바 이것이 코딩 테스트다 - chapter04 - 2 왕실의 나이트 (1) | 2024.10.13 |
이것이 코딩 테스트다 - chapter04 - 예제4-1 상하좌우 (0) | 2024.10.12 |
자바알고리즘 - 구현 - 자물쇠와 열쇠 (0) | 2024.02.02 |
자바알고리즘 - 구현 - 문자열 압축 (0) | 2024.01.29 |