Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- jvm 작동 원리
- 스택 자바 코드
- jvm이란
- 안드로이드 레트로핏 사용법
- 안드로이드 os 구조
- android retrofit login
- 스택 큐 차이
- ar vr 차이
- 안드로이드 라이선스
- Rxjava Observable
- 안드로이드 유닛 테스트 예시
- rxjava hot observable
- 자바 다형성
- 클래스
- 멤버변수
- 안드로이드 라이선스 종류
- 안드로이드 유닛 테스트
- 2022 플러터 안드로이드 스튜디오
- rxjava disposable
- 2022 플러터 설치
- 안드로이드 레트로핏 crud
- 서비스 vs 쓰레드
- 객체
- 서비스 쓰레드 차이
- ANR이란
- 큐 자바 코드
- 안드로이드 유닛테스트란
- android ar 개발
- 플러터 설치 2022
- rxjava cold observable
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 백준 - 알람 시계 (2884) (Kotlin) 본문
728x90
반응형
입력받은 2가지 숫자를 24시간 표현에 맞게 고쳐서 출력하면 된다.
fun main() {
var (hour, min) = readln().split(" ").map { it.toInt() }
min -= 45
if (min < 0) {
min += 60
hour -= 1
}
if (hour < 0) {
hour = 23
}
println("$hour $min")
}
입력받은 숫자 중 첫 번째가 시, 두 번째가 분이라고 생각한다. 이 때 45분 이른 시간을 구해야 하기 때문에 min에서 45를 뺀다.
이 때 min이 음수가 될 수 있다. 10을 입력받은 경우 10 - 45 = -35기 때문에 이 음수를 양수로 보정하는 처리가 필요하다.
우리가 시간을 계산할 때 계산 과정을 생각해 보자. 10시 10분에서 45분 빠른 시간을 구한다면 우선 10에서 1을 빼고, 그 후 10에서 45를 뺀 다음 60을 더한다. 10 - 45 + 60이 되어 25가 되고, 결국 9시 25분이 구하는 시간이 된다.
이것을 코드로 옮긴 것이 아래 부분이다.
min -= 45
if (min < 0) {
min += 60
hour -= 1
}
반응형
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
[Algorithm] 백준 - 알파벳 찾기 (10809) (Kotlin) (0) | 2024.06.07 |
---|---|
[Algorithm] 백준 - 음계 (2920) (Kotlin) (0) | 2024.06.06 |
[Algorithm] 백준 - 숫자의 개수 (2577) (Kotlin) (0) | 2024.06.06 |
[Algorithm] 백준 - 최댓값 (2562) (Kotlin) (0) | 2024.06.06 |
[Algorithm] 백준 - 검증수 (2475) (Kotlin) (0) | 2024.06.05 |
Comments