[프로그래머스] 2016년(JAVA)-LEVEL1

hsnam·2022년 1월 13일
0

프로그래머스

목록 보기
7/20
post-thumbnail

문제설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT
입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.

제한 조건

2016년은 윤년입니다.
2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

입출력 예

abresult
524"TUE"

풀이

  • java내의 제공하는 LocalDate를 이용해서 풀이했지만 아래 다른사람 풀이가 좀더 JAVA 스럽고 깔끔하다 또 아래 풀이가 속도가 훨씬 빠르다

코드

import java.time.LocalDate;
import java.time.DayOfWeek;
import java.time.format.TextStyle;
import java.util.Locale;

class Solution {
    public String solution(int a, int b) {
        LocalDate date = LocalDate.of(2016, a,b);
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        return dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.US).toUpperCase();
    }
}

다른풀이

import java.time.*;
class Solution {
  public String solution(int a, int b) {
      return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
  }
}
  • 풀이 결과
    정확성 테스트
    테스트 1 〉 통과 (20.05ms, 76.3MB)
    테스트 2 〉 통과 (32.65ms, 80.1MB)
    테스트 3 〉 통과 (17.09ms, 75.2MB)
    테스트 4 〉 통과 (19.29ms, 83MB)
    테스트 5 〉 통과 (18.08ms, 78.7MB)
    테스트 6 〉 통과 (17.28ms, 79.7MB)
    테스트 7 〉 통과 (17.38ms, 79.9MB)
    테스트 8 〉 통과 (17.21ms, 80.8MB)
    테스트 9 〉 통과 (19.89ms, 76.1MB)
    테스트 10 〉 통과 (19.03ms, 84.8MB)
    테스트 11 〉 통과 (16.23ms, 78MB)
    테스트 12 〉 통과 (16.67ms, 82.3MB)
    테스트 13 〉 통과 (24.08ms, 84MB)
    테스트 14 〉 통과 (17.41ms, 82.1MB)
    채점 결과
    정확성: 100.0
    합계: 100.0 / 100.0

  • 다른 풀이 결과
    정확성 테스트
    테스트 1 〉 통과 (0.93ms, 75.4MB)
    테스트 2 〉 통과 (0.86ms, 74.7MB)
    테스트 3 〉 통과 (1.07ms, 77.8MB)
    테스트 4 〉 통과 (0.92ms, 76.9MB)
    테스트 5 〉 통과 (1.08ms, 71.1MB)
    테스트 6 〉 통과 (0.92ms, 78.8MB)
    테스트 7 〉 통과 (1.08ms, 78.9MB)
    테스트 8 〉 통과 (1.10ms, 77.1MB)
    테스트 9 〉 통과 (1.08ms, 77.9MB)
    테스트 10 〉 통과 (1.07ms, 75.4MB)
    테스트 11 〉 통과 (1.25ms, 77.5MB)
    테스트 12 〉 통과 (1.05ms, 73.1MB)
    테스트 13 〉 통과 (1.04ms, 77.7MB)
    테스트 14 〉 통과 (1.08ms, 78.5MB)
    채점 결과
    정확성: 100.0
    합계: 100.0 / 100.0

0개의 댓글