NHN 코딩테스트를 앞두고 있는데, C, C++, Java 3개 언어로만 응시가 가능하다.
임베디드 과목 수강하면서 꾸준히 사용했던 C로 응시할까 했는데,
Java에 익숙해 질 겸 Java 응시를 결정했다.
문제
https://programmers.co.kr/learn/courses/30/lessons/12901?language=java#
풀이
class Solution {
public String solution(int a, int b) {
String[] week = {"THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"};
int[] month = {0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335};
return week[(b + month[a]) % 7];
}
}
어째 파이썬스럽게 풀어낸 것 같다 ^^;
더 나은 풀이
import java.util.*;
class TryHelloWorld
{
public String getDayName(int month, int day)
{
Calendar cal = new Calendar.Builder().setCalendarType("iso8601")
.setDate(2016, month - 1, day).build();
return cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, new Locale("ko-KR")).toUpperCase();
}
public static void main(String[] args)
{
TryHelloWorld test = new TryHelloWorld();
int a=5, b=24;
System.out.println(test.getDayName(a,b));
}
}
캘린더를 이용한 풀이!
출제의도에는 맞지 않는 풀이법이겠지만,
실제 개발은 이렇게 하는게 맞지 않나 생각한다.
댓글남기기