fun solution(today: String, terms: Array<String>, privacies: Array<String>): IntArray {
var answer = mutableListOf<Int>()
var termToExpiration = mutableMapOf<String, Int>()
for(term in terms) {
val splitedTerm = term.split(" ")
termToExpiration.put(splitedTerm[0], splitedTerm[1].toInt())
}
val todayToAmount = calculateDateToAmount(today)
for(privacyIndex in privacies.indices) {
val splitedPrivacy = privacies[privacyIndex].split(" ")
val calculatedDateAmount = calculateDateToAmount(splitedPrivacy[0]) + termToExpiration.get(splitedPrivacy[1])!! * 28
if(todayToAmount >= calculatedDateAmount)
answer.add(privacyIndex+1)
}
return answer.toIntArray()
}
fun calculateDateToAmount(dateString: String): Int {
val splitedDate = dateString.split(".")
return (splitedDate[0].toInt() * 12*28) + (splitedDate[1].toInt() * 28) + splitedDate[2].toInt()
}
풀이 과정
- 연-월-일로 되어있는 날짜를 일로 환산한다.
- 일로 환산된 개인정보 수집일자 + 유효기간과 현재 날짜를 비교한다.
- 현자날짜가 더 크거나 같으면 만료된 것으로 간주한다.
포인트
- 연-월-일을 일로 환산
- (연 * 12 * 28) + (월 * 12) + 일
'TLI > 코드카타' 카테고리의 다른 글
2024.06.05 TIL 코트카타 73번(공원 산책) (0) | 2024.06.05 |
---|---|
2024.06.04 TIL 코트카타 72번(달리기 경주) (0) | 2024.06.04 |
2024.05.31 TIL 코트카타 68번(햄버거 만들기) (0) | 2024.05.31 |
2024.05.30 TIL 코트카타 67번(둘만의 암호) (0) | 2024.05.30 |
2024.05.29 TIL 코트카타 66번(대충만든자판) (0) | 2024.05.29 |