개인정보 수집 유효기간 - Swift 문제풀이
문제 링크 카카오 코딩테스트: 개인정보 수집 유효기간 문제 분석 숫자를 년,월,일로 바꾸고 [String] 배열을 순회하면서 유효기간을 계산한 뒤, 만료일과 현재 날짜를 비교하면 되는 문제라고 생각했다. 이 때 월, 일이 각각 오버플로우/언더플로우 되는 상황을 주의해야 한다. 비교는 년도 > 월 > 일 순서로 진행했다. 내 코드 그러나, 월, 일을 비교하고 오버/언더플로우를 처리하는 과정은 조금 복잡하고 실수할 수 있는 영역이기 때문에,
년도, 월을 모두 일로 변환하여 푸는 것으로 코드를 개선하였다.
(이 문제의 조건 중 모든 달은 28일까지 있다는 조건 사용) 또한, 일수로 변환하는 것은 따로 함수로 뺐다. 이렇게 하면 코드의 가독성을 증가시키고, 역할 분리, 재사용 할 수 있게 된다. 배운 점 년도, 월, 일을 각각 숫자로 변환하고 각각 비교해야 한다는 생각 때문에
시간이 꽤 걸렸다. 이렇게 ‘일’의 제한이 있는 간단한 문제의 경우, “년도, 월을 모두 일로 변환 시켜 계산” …
Algorithm