몇개 푼것중에 제일 쉬운문제!! 역시 글자가 많다고 두려워 하지 말자 ㅋ
문제가 하도 길어서, 풀기도 전에 겁이 났는데, 이번 문제는 난이도가 제일 낮은 문제같긴하네..
포인트는 60진법(시간)에 대한 처리를 적절히 하는것!
이건 그냥 문제만 잘읽어도 풀리는 문제긴하다~
직원들이 출근 계획 시간표를 제출하고, 해당 출근 계획 시간 + 10분까지 계획대로 출근을 일주일간
모두 한 직원들의 수를 구하는 문제이다!
(15분정도 걸린듯)
https://school.programmers.co.kr/learn/courses/30/lessons/388351
class Solution {
fun solution(schedules: IntArray, timelogs: Array<IntArray>, startday: Int): Int {
var answer: Int = 0
schedules.forEachIndexed { index, schedule ->
var day = startday
var cnt = 0
val hour = schedule / 100
val minute = schedule % 100
val s1 = hour * 100 + minute
val hourA = (hour + (minute + 10) / 60)
val minuteA = (minute + 10) % 60
val s2 = hourA * 100 + minuteA
println("$s1 ~ $s2")
timelogs[index].forEach { timelog ->
if (day == 8) {
day = 1
}
if (timelog <= s2) {
if (day !in 6..7) {
cnt++
println(" = > $timelog")
if (cnt == 5) answer++
}
}
day++
}
}
println("answer = $answer")
return answer
}
}
'MY스터디' 카테고리의 다른 글
| [스터디] 알고리즘#2 - 택배 상자 꺼내기 (0) | 2026.05.17 |
|---|---|
| [스터디] 알고리즘#1 - 노란불신호등 (0) | 2026.05.16 |
| [스터디] 자바 ScopedValue에 대해서 (0) | 2026.03.22 |
| [스터디] 코틀린에서 infix함수 활용에 대해서 (0) | 2026.03.15 |
