문제 설명
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"를 반환하세요.
제한 조건5 | 24 | "TUE" |
func solution(a int, b int) string {
day := []string{"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"}
month := []int{31,29,31,30,31,30,31,31,30,31,30,31}
days := -1
for i:=0; i<a-1; i++{
days += month[i]
}
days += b
return day[days%7]
}
func solution(a int, b int) string {
num2day := map[int]string {
0: "SUN",
1: "MON",
2: "TUE",
3: "WED",
4: "THU",
5: "FRI",
6: "SAT",
}
date := 5
for month := 1; month < a; month++ {
switch month {
case 1, 3, 5, 7, 8, 10, 12: date += 31
case 4, 6, 9, 11: date += 30
default: date += 29
}
}
return num2day[(date + b - 1) % 7]
}
import "time"
func solution(a int, b int) string {
week := []string {"SUN","MON","TUE","WED","THU","FRI","SAT"}
offset := 5
firstDay := time.Date(2016, 1, 1, 0,0,0,0,time.UTC)
targetDay := time.Date(2016, time.Month(a), b, 0,0,0,0,time.UTC)
diff := targetDay.Sub(firstDay).Hours() / 24
return week[(int(diff)+ offset) % 7 ]
}
import "time"
func solution(a int, b int) string {
days := []string{"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}
t := time.Date(2016, time.Month(a), b, 0, 0, 0, 0, time.UTC)
return days[int(t.Weekday())]
}
[Go] 프로그래머스 Summer/Winter Coding(~2018) LV1 - 소수 만들기 (0) | 2022.05.29 |
---|---|
[Go] 프로그래머스 2021 카카오 채용연계형 인턴십 LV1- 숫자 문자열과 영단어 (0) | 2022.05.29 |
[Go] 프로그래머스 연습문제 LV1 - 문자열 내림차순으로 배치하기 (0) | 2022.05.28 |
[Go] 프로그래머스 연습문제 LV1 - 가운데 글자 가져오기 (0) | 2022.05.28 |
[Go] 프로그래머스 월간 코드 챌린지 시즌2 LV1 - 음양 더하기 (0) | 2022.05.28 |
댓글 영역