(코딩테스트) 2016년 (LocalDate)
2024. 4. 11. 15:35ㆍ개발자 과정/Kotlin
https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이의 선택과정
1. 어? 윤년구하는 공식을 까먹었다.
2. 근데 코틀린은 날짜에 대한 지원이 잘 되어 있지 않을까?
3. 그럼 윤년 구하는 로직말고, 날짜 함수를 찾아보자.
문제고민
날짜함수 무엇을 쓸까?
해결방안
LocalDate의 하위기능들을 쓰자!
= 날짜에 대한 기능을 찾아보니, LocalDate라는 것이 있었다.
이것을 쓰면 윤년계산도 해줘서 날짜만 넣어주면 된다고 한다.
정답풀이
import java.time.LocalDate
class Solution {
fun solution(a: Int, b: Int): String =
LocalDate.of(2016,a,b).dayOfWeek.toString().substring(0,3)
}
핵심로직
LocalDate.of(2016,a,b).dayOfWeek.toString().substring(0,3)
= LocalDate에 날짜를 넣어 그 날의 요일을 찾아내고, 문자열로 변환하면서 앞의 3글자만 따온다.(기본이 풀네임)
새로 알게된 것
LocalDate는 최고다!
= 저 아름다운 한 줄 로직을 보라. 처음엔 함수형 언어의 넘쳐나는 부가기능에
함수 지옥이라고 울부짖었지만, 지금은 이 간결하고 예쁜 로직을 만들 수 있음에
카타르시스를 느낀다.
'개발자 과정 > Kotlin' 카테고리의 다른 글
(코딩테스트) 과일 장수 (0) | 2024.04.11 |
---|---|
(코딩테스트) 카드 뭉치 (Queue초기화) (0) | 2024.04.11 |
(코딩테스트) 명예의 전당(1) (우선순위 큐) (0) | 2024.04.11 |
(코딩테스트) 공원산책(copyOf()) (0) | 2024.04.08 |
(코딩테스트) 콜라 문제 (0) | 2024.04.08 |