๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] 2016๋…„

by hyebin (Helia) 2023. 1. 31.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ

2016๋…„

๋ฌธ์ œ ์„ค๋ช…

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 day = ["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 day[totalDay % 7]
}
1์›” 1์ผ์ด ๊ธˆ์š”์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชฉ์š”์ผ๋ถ€ํ„ฐ ์š”์ผ์„ ์ €์žฅํ•œ day ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.
1์›”๋ถ€ํ„ฐ 12์›”๊นŒ์ง€ ๊ฐ ๋‹ฌ์ด ๋ฉฐ์น ๊นŒ์ง€ ์žˆ๋Š”์ง€ ์ €์žฅ๋œ monthDay ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.
์ž…๋ ฅ๋ฐ›์€ ๋‚ ์งœ๊นŒ์ง€ ์ด๋ฉฐ์น ์ธ์ง€ ๊ตฌํ•ด ๋ณ€์ˆ˜ totalDay์— ์ €์žฅํ•œ๋‹ค. (1์›”๋ถ€ํ„ฐ a-1์›”๊นŒ์ง€ ๊ฐ ๋‹ฌ์˜ ๋‚ ์งœ๋ฅผ ๋ˆ„์ ํ•ด์„œ ๋”ํ•œ ํ›„, b๋ฅผ ๋”ํ•œ๋‹ค)

์š”์ผ์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” day ๋ฐฐ์—ด์—์„œ "์ด๋‚ ์งœ๋ฅผ 7๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€" ์ธ๋ฑ์Šค์˜ ์š”์ผ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•