๐งฉ ํ๋ก๊ทธ๋๋จธ์ค/์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)
ํ๋ก๊ทธ๋๋จธ์ค_2016๋
carrot0911
2024. 12. 13. 10:25
๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12901
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
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" |
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public String solution(int a, int b) {
String answer = "";
int[] days = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int totalDays = 0;
for (int i = 1; i < a; i++) {
totalDays += days[i];
}
totalDays += b;
String[] week = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
answer = week[(totalDays-1) % 7];
return answer;
}
}
์ฝ๋ ์ค๋ช
- int[ ] days = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} : ๊ฐ ์์ ์ผ์๋ฅผ ์ ์ฅํ days ๋ฐฐ์ด์ ์์ฑํ๋ค. 1์๋ถํฐ 12์๊น์ง์ ์ผ์๋ฅผ ์์๋๋ก ์ ์ฅํ๊ณ , ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ์ฌ์ฉํ์ง ์๋๋ค.
- int totalDays = 0 : ์ด์ผ์๋ฅผ ๋์ ํ์ฌ ๊ณ์ฐํ๊ธฐ ์ํ ๋ณ์ totalDays๋ฅผ ์์ฑํ๊ณ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
- for (int i = 1; i < a; i++) { totalDays += days[i] } : for๋ฌธ์ ์ฌ์ฉํด์ 1์๋ถํฐ a-1์๊น์ง์ ์ผ์๋ฅผ totalDays์ ๋ํ๋ค. days[i]๋ i์์ ์ผ์๋ฅผ ์๋ฏธํ๋ค.
- totalDays += b : totalDays ๋ณ์์ b ๊ฐ์ ๋ํ๋ค. ์ ๋ ฅ๋ ๋ ์ง๊น์ง์ ์ด์ผ์๋ฅผ ๊ณ์ฐํ๋ค.
- String[ ] week = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"} : ์์ผ์ ์ ์ฅํ week ๋ฐฐ์ด์ ์์ฑํ๋ค. ๊ธ์์ผ์ ๊ธฐ์ค์ผ๋ก ์์ผ ์์๋ฅผ ์ ์ฅํ๋ค.
- anwer = week[(totalDays - 1) % 7] : (totalDays - 1) % 7์ ๊ณ์ฐํ์ฌ, week ๋ฐฐ์ด์ ํด๋น ์ธ๋ฑ์ค ๊ฐ์ answer์ ์ ์ฅํ๋ค. totalDays - 1์ ๋ ์ง ๊ณ์ฐ์ ๋ฐฐ์ด ์ธ๋ฑ์ค์ ๋ง์ถ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.