Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 사파리 월드
- BitMasking
- baekjoon
- dp
- 백준1107
- 꼬마 정민
- 2525
- 백준1476
- 파이썬
- 10807
- 디버그심볼
- 새싹
- 백준
- kotlin
- 백준3085
- PreferenceManager
- 개수 세기
- 18108
- Class Delegation
- 10926
- 1330
- 브루트포스
- debugSymbolLevel
- 25083
- Android
- 기본메신저
- 코틀린
- 10430
- Counting The number
- safari world
Archives
- Today
- Total
세상을 더 좋게
[백준] 2525 '오븐 시계' 파이썬(Python), 코틀린(Kotlin) 본문
https://www.acmicpc.net/problem/2525
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net
파이썬
이 문제는 조건에 조건을 더하는 문제다.
첫번째로 분과 요리시간을 더했을 때 60분을 넘어갈 경우이다. 이때는 h에 특정한 시간을 더해줘야 하기 때문에 해당 조건을 해결해야만 한다.
두번째로는 '현재시간과 추가되어야 하는 시간의 합이 24시간을 넘어가느냐'의 문제다. 넘어가게 되면 24로 나누어 그 나머지만큼의 숫자가 요리가 완성되는 최종적인 h가 되기 때문이다.
첫번째의 조건을 달고 또 두번째 조건을 사용하여 최종적인 h와 m을 이제 출력시키기만 하면 된다.
다소 난잡할 수 있지만 코드를 읽으면 논리의 흐름을 그대로 따라갈 수 있기 때문에 좋다고 생각한다.
h, m = map(int, input().split())
cookingTime = int(input())
if m + cookingTime >= 60:
plusHour = (m + cookingTime) // 60
m = (m + cookingTime) % 60
if h + plusHour >= 24:
h = (h + plusHour) % 24
else:
h += plusHour
else:
m += cookingTime
print(h, m)
코틀린
위의 파이썬과 흐름은 똑같다. 다만 / 를 사용하는 데에 있어 다르다. 코틀린은 기본적으로 / 를 사용한 결과 값에 소수점이 반영되지 않는다. 따라서 위의 파이썬처럼 //와 같은 별도의 연산자를 사용할 필요가 없다. 출력값에는 마찬가지로 인자를 하나만 가지기 때문에 "" 안에 ${}를 이용하여 출력하였다.
import java.util.*
fun main() = with(Scanner(System.`in`)) {
var (h, m) = Pair(nextInt(), nextInt())
val cookingTime = nextInt()
if (m + cookingTime >= 60) {
val plusHour = (m + cookingTime) / 60
m = (m + cookingTime) % 60
if (h + plusHour >= 24) {
h = (h + plusHour) % 24
} else {
h += plusHour
}
} else {
m += cookingTime
}
println("${h} ${m}")
}
'Algorithm' 카테고리의 다른 글
[백준] 10950 'A+B - 3' 파이썬(Python), 코틀린(Kotlin) (0) | 2022.05.05 |
---|---|
[백준] 2739 '구구단' 파이썬(Python), 코틀린(Kotlin) (0) | 2022.05.05 |
[백준] 2884 '알람 시계' 파이썬(Python), 코틀린(Kotlin) (0) | 2022.03.17 |
[백준] 14681 '사분면 고르기' 파이썬(Python), 코틀린(Kotlin) (0) | 2022.03.17 |
[백준] 2753 '윤년' 파이썬(Python), 코틀린(Kotlin) (0) | 2022.03.17 |