링크
https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 요약
2016년 1월 1일은 금요일이다. 이 때 두 수 a와 b를 입력 받아 2016년 a월 b일이 무슨 요일인지 구해야한다.
요일의 이름은 각 요일 영어 철자의 앞 3글자를 대문자로 출력한다.
2016년은 윤년이며 2016년 a월 b일은 실제로 있는 날로 9월 45일 등의 날짜는 주어지지 않는다.
알고리즘 풀이 순서
1. LocalDate와 getDayOfWeek를 사용하여 2016년 a월 b일의 요일을 불러온다.
2. 문자열 변환(toString()) 후 요일의 앞 3자만 잘라서(substring) 대문자로 변경(toUpperCase) 시켰다.
처음 문제를 봤을 때 아직 자바가 익숙치 않다보니 많이 막막했는데 적절한 라이브러리와 함수의 사용이 문제풀이를 매우 쉽게 만들어준다는걸 느끼게 하는 문제였다.
코드
import java.time.LocalDate;
class Solution {
public String solution(int a, int b) {
String answer = "";
answer = LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0, 3).toUpperCase();
return answer;
}
}
'CodingTest > Programmers' 카테고리의 다른 글
| [프로그래머스 Lv 1] 두 정수 사이의 합 (6) | 2024.11.07 |
|---|---|
| [프로그래머스 Lv 1] 폰켓몬 (6) | 2024.11.05 |