반응형
[프로그래머스] Java 코딩테스트 연습 - 날짜 비교하기
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/181838
문제
정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날자를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다.
만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return하는 solution 함수를 완성해 주세요.
풀이
실패,, 채점했더니 통과한 테스트도 있고 실패한 테스트도 군데군데 있었다.
class Solution {
public int solution(int[] date1, int[] date2) {
int answer = 0;
for (int i = 0; i < date1.length; i++) {
if (date1[i] < date2[i]) {
answer = 1;
} else {
answer = 0;
}
}
return answer;
}
}
아무래도 date1과 date2의 연도, 월, 일 중 같은 부분이 있어서 오류가 나는 것 같아 년월일을 하나하나 비교하기로 했다. 값이 작으면 앞서는 날짜이므로 1을 return하고 값이 크면 0을 return하도록 했다.
소스코드
class Solution {
public int solution(int[] date1, int[] date2) {
if (date1[0] < date2[0]) {
return 1;
} else if (date1[0] > date2[0]) {
return 0;
} else if (date1[1] < date2[1]) {
return 1;
} else if (date1[1] > date2[1]) {
return 0;
} else if (date1[2] < date2[2]) {
return 1;
} else {
return 0;
}
}
}
반응형
'코딩테스트연습 > [프로그래머스] Java' 카테고리의 다른 글
[프로그래머스] Java 코딩테스트 연습 - 가위 바위 보 (0) | 2023.07.12 |
---|---|
[프로그래머스]Java 코딩테스트 연습 - 배열의 원소만큼 추가하기 (0) | 2023.07.11 |
[프로그래머스] Java 코딩테스트 연습 - 편지 (0) | 2023.06.28 |
[프로그래머스] Java 코딩테스트 연습 - 가장 큰 수 찾기 (0) | 2023.06.28 |
[프로그래머스] Java 코딩테스트 연습 - 배열의 유사도 (0) | 2023.06.28 |