https://www.acmicpc.net/problem/18312
18312번: 시각
정수 N과 K가 입력되었을 때 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 모든 시각을 세는 프로그램을 작성하시오. 시각을 셀 때는 디지털 시계를 기준으로,
www.acmicpc.net
코드풀이
완전탐색 문제입니다.
처음에 문자열을 통해서 처리할려고, String.format("%02d", hour) 형식으로 하여 05 : 52 : 04 이런식으로 문자열로 한뒤
각 문자열을 다시 또 돌면서 처리할려고했습니다.
그러나 시간을 나눠서 진행할 수 있다는 것을 깨닫고 시간을 나눠서 비교하여 풀었습니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static int N, K;
public static int result = 0;
public static int x, y;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
K = Integer.parseInt(st.nextToken());
simulate();
System.out.println(result);
}
public static void simulate() {
for(int hour = 0; hour <= N; hour ++) {
for(int minute = 0; minute < 60; minute++) {
for(int second = 0; second < 60; second ++) {
if( hour % 10 == K || hour / 10 == K || minute % 10 == K || minute / 10 == K || second % 10 == K || second / 10 == K ) {
result += 1;
}
}
}
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 15721 번데기 - 완전탐색 + 구현 JAVA (0) | 2023.07.09 |
---|---|
[백준] 22864 피로도 - 그리디 + 완전탐색 JAVA (0) | 2023.07.08 |
[백준] 19532 수학은 비대면강의입니다 - 완전탐색 JAVA (0) | 2023.07.07 |
[백준] 2231 분해합 - DFS + 완전탐색 JAVA (0) | 2023.07.07 |
[백준] 2798 블랙잭 - DFS + 완전탐색 JAVA (0) | 2023.07.07 |