-
[프로그래머스][2023 KAKAO BLIND RECRUITMENT][개인정보 수집 유효기간]프로그래머스 2023. 1. 26. 17:02728x90
class Solution { fun solution(today: String, terms: Array<String>, privacies: Array<String>): IntArray { var answer: IntArray = intArrayOf() var termsMap = mutableMapOf<String,Int>() terms.forEach{ termsMap.put(it.split(" ")[0], it.split(" ")[1].toInt()*28) } var todayCheck = 0 todayCheck += today.split(".")[0].toInt()*12*28 todayCheck += today.split(".")[1].toInt()*28 todayCheck += today.split(".")[2].toInt() for(i in 0 .. privacies.size-1){ var day = 0 day += privacies[i].split(".")[0].toInt()*12*28 day += privacies[i].split(".")[1].toInt()*28 day += privacies[i].split(".")[2].split(" ")[0].toInt() var check = privacies[i].split(".")[2].split(" ")[1] if(todayCheck - day >= termsMap.get(check)!!) answer += i+1 } return answer } }
해당문제는 지문을 잘 보면 한달을 모두 28일로 일괄계산하기에 주어진 자료들을 적절히 split() 함수를 사용하여 분리 시키면 금방 풀 수 있는 문제였습니다. kotlin 및 코딩테스트를 공부한지 얼마 지나지 않았을때 경험삼아 봤었는데 해당 문제만 통과했던 슬픈기억이 떠오르는 문제였습니다ㅠㅜ
상기 코드의 실행결과 입니다.
테스트 1 〉 통과 (16.38ms, 63.5MB) 테스트 2 〉 통과 (23.04ms, 64.2MB) 테스트 3 〉 통과 (17.53ms, 64.4MB) 테스트 4 〉 통과 (19.15ms, 63.5MB) 테스트 5 〉 통과 (25.44ms, 66.5MB) 테스트 6 〉 통과 (19.83ms, 63.2MB) 테스트 7 〉 통과 (23.92ms, 63MB) 테스트 8 〉 통과 (20.71ms, 63.7MB) 테스트 9 〉 통과 (23.38ms, 63.9MB) 테스트 10 〉 통과 (23.77ms, 63.9MB) 테스트 11 〉 통과 (21.44ms, 64.2MB) 테스트 12 〉 통과 (26.67ms, 64.5MB) 테스트 13 〉 통과 (17.88ms, 63.7MB) 테스트 14 〉 통과 (17.41ms, 64.3MB) 테스트 15 〉 통과 (17.49ms, 64MB) 테스트 16 〉 통과 (28.31ms, 63.9MB) 테스트 17 〉 통과 (17.61ms, 63.8MB) 테스트 18 〉 통과 (17.33ms, 63.7MB) 테스트 19 〉 통과 (25.39ms, 63.7MB) 테스트 20 〉 통과 (17.36ms, 63.2MB) '프로그래머스' 카테고리의 다른 글
[프로그래머스][Kotlin] 네트워크 (0) 2023.02.01 [프로그래머스][kotlin] 뒤에 있는 큰 수 찾기 (0) 2023.01.30 [프로그래머스][Kotlin][2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기 (0) 2023.01.25 [프로그래머스][kotlin]다리를 지나는 트럭 (0) 2023.01.23 올바른 괄호 (0) 2023.01.18