코린이의 소소한 공부노트

[LeetCode/Easy] 2224. Minimum Number of Operations to Convert Time 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2224. Minimum Number of Operations to Convert Time

무지맘 2023. 1. 15. 23:59

1. Input

1) 문자열 current

2) 문자열 correct

- 두 문자열은 24시간제를 기준으로 한 시간을 나타낸다.

 

2. Output

1) currentcorrect로 만드는 최소한의 연산 횟수를 반환

- 한번 연산에 1, 5, 15, 604개 중 1개를 선택해 시간을 증가시킬 수 있다.

 

3. Constraint

1) currentcorrect의 형태는 "HH:MM"이다.

2) HH에는 00~23, MM에는 00~59가 들어간다.

3) current <= correct

 

4. Example

Input: current = "02:30", correct = "04:35" -> Output: 3

설명:

- 60분을 더한다 -> "03:30"

- 60분을 더한다 -> "04:30"

- 5분을 더한다 -> "04:35"

- 이것보다 더 적은 횟수를 사용하여 230분을 435분으로 바꿀 수 없다.

 

5. Code

1) 첫 코드(2022/06/22)

int end = Integer.parseInt(correct.substring(0,2))*60 + Integer.parseInt(correct.substring(3,5));
int start = Integer.parseInt(current.substring(0,2))*60 + Integer.parseInt(current.substring(3,5));

int t = end-start;
int count = 0;

if(t==0)
    return 0;

if(t>=60){
    count += t/60;
    t %= 60;
}

if(t>=15){
    count += t/15;
    t %= 15;
}

if(t>=5){
    count += t/5;
    t %= 5;
}

count += t;

return count;