티스토리 뷰
문제 설명
정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다.
만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요.
제한 조건
date1의 길이 = date2의 길이 = 3
0 ≤ year ≤ 10,000
1 ≤ month ≤ 12
day는 month에 따라 가능한 날짜로 주어집니다.
내 답안
func solution(_ date1:[Int], _ date2:[Int]) -> Int {
if date1[0] != date2[0] {
return date1[0] < date2[0] ? 1 : 0
}
if date1[1] != date2[1] {
return date1[1] < date2[1] ? 1 : 0
}
if date1[2] != date2[2] {
return date1[2] < date2[2] ? 1 : 0
}
return 0
}
접근 방법
연 -> 월 -> 일 순으로 비교해서 리턴
다른 풀이
func solution(_ date1: [Int], _ date2: [Int]) -> Int {
date1[0] * 10000 + date1[1] * 100 + date1[2] < date2[0] * 10000 + date2[1] * 100 + date2[2] ? 1 : 0 }
연 * 10000 / 월 * 100 해서 날짜 형식을 20211228 의 정수로 만든 후에 비교
알게 된 것
년월일 각각 생각해도 되지만 날짜 구할 때 하나의 큰 정수로 만들어서 비교할 수도 있구나
'코딩테스트' 카테고리의 다른 글
Lv.0 swift 분수의 덧셈 (0) | 2024.03.27 |
---|---|
Lv.0 swift 배열 만들기 5 (0) | 2024.03.25 |
Lv.0 swift 세로 읽기 (0) | 2024.03.24 |
Lv.0 swift 배열 만들기 3 (0) | 2024.03.23 |
Lv.0 swift 접미사 배열 (0) | 2024.03.23 |
최근에 올라온 글