728x90
https://school.programmers.co.kr/learn/courses/30/lessons/250135
728x90
메모리: 77.6 MB, 시간: 3.73 ms
사용 알고리즘: 구현
시침과 초침이 만나는 경우는 12시 정각 밖에 없다.
분침과 초침이 만나는 경우는 만약 현재 5분이라면 초침이 5초에서 6초를 넘어갈 때 만난다.
(단, 59분이라면 59초에서 00초로 넘어가는 와중에 만나는 것이 아니라 00초가 딱 됐을 때 만난다.)
class Solution {
public int solution(int h1, int m1, int s1, int h2, int m2, int s2) {
int answer = 0;
// 처음 겹쳐있는 경우
if(m1 == 0 && s1 == 0) answer++;
while(h1 * 3600 + m1 * 60 + s1 < h2 * 3600 + m2 * 60 + s2) {
// s1애서 s1 + 1초가 될 때, 분침과 시침이 겹쳐있는 경우
if((h1 == 11 || h1 == 23) && m1 == 59 && s1 == 59) answer++;
else {
// 분침과 초침이 만난 경우
if(m1 == s1 && !(m1 == 0 && s1 == 0)) answer++;
// 시침과 초침이 만난 경우
if((h1 % 12) * 5 + m1 / 12 == s1 && !((h1 % 12 == 0) && m1 == 0 && s1 == 0)) answer++;
}
// 1초 증가
if(s1 == 59) {
if(m1 == 59) {
h1++;
m1 = 0;
s1 = 0;
}
else {
m1++;
s1 = 0;
}
}
else s1++;
}
return answer;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 12928] 약수의 합 (java) (0) | 2024.08.19 |
---|---|
[프로그래머스, 250134] [PCCP 기출문제] 4번 / 수레 움직이기 (java) (0) | 2024.08.17 |
[프로그래머스, 250136] [PCCP 기출문제] 2번 / 석유 시추 (java) (0) | 2024.08.17 |
[프로그래머스, 250137] [PCCP 기출문제] 1번 / 붕대 감기 (java) (0) | 2024.08.17 |
[프로그래머스, 60060] 가사 검색 (java) (0) | 2024.08.16 |