๋ฌธ์ ์ค๋ช
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์ผ๊ฐ์ ๋ ์ง๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค)
์ ์ถ๋ ฅ ์
a | b | result |
5 | 24 | "TUE" |
๋ด ๋ฌธ์ ํ์ด
func solution(_ a:Int, _ b:Int) -> String {
let days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
let months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
var dayCount = 0
for i in 0..<a-1 {
dayCount += months[i]
}
return days[(dayCount + b - 1) % 7]
}
- 1์ 1์ผ์ด ๊ธ์์ผ๋ก ์ฃผ์ด์ก์ผ๋ฏ๋ก, ๊ธ์์ผ๋ถํฐ ์์ผ ๋ฐฐ์ด์ ์์ฑํด์ฃผ์๋ค.
- ๋ฌ ๋ณ ๋ ์ง๋ฅผ ์ ์ ํ ๋ฐฐ์ด๋ ๋ฐ๋ก ๋ง๋ค์ด์ฃผ์๋ค.
- ์ ๋ ฅ๋ ์์ ์ ๋ฌ๊น์ง์ ๋ ์ง ์๋ฅผ ๋์ ํด์ฃผ์๊ณ , ๋ฆฌํด๋ฌธ์์ ํด๋น ์์ ์์ผ์ ๊ตฌํด ๋ฐํํด์ฃผ์๋ค.
์ธ์์ ์ธ ํ์ด
func solution(_ a:Int, _ b:Int) -> String {
let w = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"]
let monthDay = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
let totalDay = monthDay[0..<a-1].reduce(0, +) + b
return w[totalDay % 7]
}
- ๋ด ํ์ด์ for๋ฌธ์ reduce๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ค๋ก ์ค์ฌ์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
- ๋ฐฐ์ด ์์ ์๋ฅผ ๋ํ ๋๋ reduce๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐํธํ๋ค,!
- ์ค๋ ๋ฌธ์ ๋ฅผ ์ฌ๊ธฐ์ ๊ธฐ์ ๋ง์ด ๋ฐ๊ฒฌํ ์ ์์๋ค,, ์ต์ํ๊ฒ ํ ์ ์๋๋ก ๋ง์ด ์ฐ์ตํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
๐ [ ์ถ๊ฐ ] 1์ฃผ์ผ ํ ๋ค์ ํ์ด๋ณด๊ธฐ
func solution(_ a:Int, _ b:Int) -> String {
let days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
let months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
return days[(months[0..<(a-1)].reduce(0, +) + b - 1) % 7]
}
- reducea๋ฅผ ์ ํ์ฉํ์ฌ ํจ์ฌ ๊น๋ํ๊ฒ ํ์๋ค,!!
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์์ฐ Programmers(Lv.1) (0) | 2021.06.17 |
---|---|
[Swift Algorithm] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๋ ์ ์ ์ฌ์ด์ ํฉ Programmers(Lv.1) (0) | 2021.06.17 |
๋๊ธ