알고리즘/구현
[JAVA] 이.코.테 ( 구현 ) - 시각
728x90
반응형
시각
문제
정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는
모든 경우의 수를 구하는 프로그램을 작성하라. 예를 들어 1을 입력했을 때
다음은 3이 하나라도 포함되어 있으므로 세어야 하는 시각이다
- 00시 00분 03초
- 00시 13분 30초
반면에 다음은 3이 하나도 포함되어 있지 않으므로 세면 안 되는 시각이다
- 00시 02분 55초
- 01시 27분 45초
입력
첫째 줄에 정수 N이 입력된다.(0<=N<=23)
출력
00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 출력한다.
입력 예시
5
출력 예시
11475
나의 풀이
public class Time {
public static int sum(int n) {
int cnt = 0;
for (int i = 0; i <= n; i++) { ///시
for (int j = 0; j < 60; j++) { ///분
for (int k = 0; k < 60; k++) { ///초
String temp = "";
temp += "" + i + j + k;
if (temp.contains("3")) {
cnt++;
}
}
}
}
return cnt;
}
public static void main(String[] args) {
System.out.println(sum(5));
}
}
풀이 해설 : 시, 분, 초 에 대한 경우의 수는 24 * 60 * 60 이며 3중 for문을 쓸 생각을 먼저 하였습니다.
다음으로 정수를 문자열로 바꾼뒤에 3이있는지 검사하였습니다. (정수 33 : 3이 포함 x, 문자 "33" : 3이 포함)
728x90
반응형
'알고리즘 > 구현' 카테고리의 다른 글
[JAVA] 이.코.테 ( 구현 ) - 왕실의 나이트 (0) | 2021.07.30 |
---|---|
[JAVA] 이.코.테 ( 구현 ) - 상하좌우 (0) | 2021.07.30 |
댓글