๋ฐ์ํ
Question
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์ผ๊ฐ์ ๋ ์ง๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค)
์ ์ถ๋ ฅ ์์
My Code
function solution(a, b) {
let weeks = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU'];
let months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
let whatWeek = b - 1;
for (let i = 1; i < a; i++) {
whatWeek += months[i - 1];
}
return weeks[whatWeek % 7];
}
HOW? (ํ์ด๋ฐฉ๋ฒ)
- weeks์ months๋ฐฐ์ด์ ๋ง๋ค์ด ๊ฐ๊ฐ ์์ผ๊ณผ ์์ ์ผ์๋ฅผ ์ ์ธํ๋ค.
- whatWeek ๋ณ์ ์์ ์ฃผ์ด์ง ๋ ์ง๊น์ง์ ์ผ์๋ฅผ ์ ๋ถ ๋ํด์ค๋ค. (์ปดํจํฐ์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ค๋ ๊ฒ์ ์์ง ๋ง์)
- ์ ๋ถ ๋ํด์ง ๋ ์ง์๋ฅผ 7๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ ๋ฐ๋ผ weeks์ ์์ผ์๋ฅผ ๋ฐํํ๋ค.
๋ค๋ฅธ ํ์ด๋ฐฉ๋ฒ
Date ๊ฐ์ฒด์ด์ฉ
function solution(a, b) {
let weeks = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
let date = new Date(`2016-${a}-${b}`);
let day = date.getDay();
return weeks[day];
}
Date๊ฐ์ฒด๋ฅผ ์ด์ฉํ๋ฉด ์ ๋ง ์ ๋ง ์ฌ์์ง๋ค.
๋ฉ์๋๋ ๊ฐ์ฒด๋ฅผ ์ผ๋ง๋ ํ์ฉํ ์ ์๋์ง์ ๋ฐ๋ผ์ ์๊ฐ์ ๋จ์ถํ ์ ์์์ ๋ผ์ ๋ฆฌ๊ฒ ๋๊ผ๋ค.
getDay()ํ๋๋ก ์์ผ์ ๊ธ๋ฐฉ ๊ตฌํ ์ ์๋ค.
์๋ ๊ฑด ํ์ฉํ์.
๋ฐ์ํ
'Algorithms > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ํฐ์ผ๋ชฌ (0) | 2022.07.14 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค : x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2022.07.13 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : K๋ฒ์งธ ์ (0) | 2022.05.29 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.05.27 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.05.22 |