Go/Go 알고리즘

백준 2948번 2009년 Go 구현해보기

kimc 2021. 11. 6. 22:36

```

백준 2948번 2009년 Go 구현해보기

```

 

이번 글을 통해 배워갈 내용

  1.  백준 2948번 풀이
  2.  간단한 시간 날짜 변환 연습

https://www.acmicpc.net/problem/2948

 

2948번: 2009년

2009년 M월 D일의 요일을 영어로 출력한다. 출력은 다음 중 하나이다. "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday".

www.acmicpc.net

 

 

 

백준 2948번 2009년은 

난이도 쉬움 브론즈 등급의 문제로서

 

2009년의 월과 일이 주어질 때

 

이에 해당하는 요일을 출력해주면 되는 문제입니다.


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


 

저는 간단하게 Go에 구현된 time package에 있는 time.Date를 사용해서 간단하게 풀었습니다.

 

전체 코드는 다음과 같습니다

package main

import (
	"bufio"
	"fmt"
	"os"
	"time"
)

func findWeekDay(month int, day int) string {
	// takes a year, month, day, hour, minute, second, nanosecond, and location
	weekDay := time.Date(2009, time.Month(month), day, 0, 0, 0, 0, time.UTC).Weekday()
	return fmt.Sprintf("%v", weekDay)
}



func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	var day int
	var month int
	fmt.Fscanln(reader, &day, &month)
	fmt.Fprintln(writer, findWeekDay(month, day))
	writer.Flush()
}

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 

참조 및 인용

Introduction to Algorithms


https://tour.golang.org/list

 

A Tour of Go

 

tour.golang.org

728x90