- []
ํด๋์ค (๊ฐ์ฒด)๋ฅผ ๋ถ๋ฆฌํ๋ ์ฐ์ต - [] ๋๋ฉ์ธ ๋ก์ง์ ๋ํ
๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ์ฐ์ต - []
ํจ์๋ฅผ ๋ถ๋ฆฌํ๋ ์ฐ์ต - []
ํจ์๋ณ๋ก ํ ์คํธ๋ฅผ ์์ฑํ๋ ์ฐ์ต
- [โ๏ธ]
ํด๋์ค์ ๊ฐ์ฒด์ ๋ํ ํ์ต
- S-0-1. [โ ] ํด๋์ค์ ๊ฐ์ฒด์ ๊ฐ๋
- S-0-2. [โ ] ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ
- [โ๏ธ]
๋๋ฉ์ธ ๋ก์ง๊ณผ ๋จ์ ํ ์คํธ์ ๋ํ ํ์ต
- S-0-3. [โ ] ๋๋ฉ์ธ ๋ก์ง์ ๊ฐ๋
- S-0-4. [โ ] ๋๋ฉ์ธ ๋ก์ง์ ๋ํ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
- [โ๏ธ]
๋ก๋ ๊ตฌ์ ๊ธ์ก ์ ๋ ฅ ๋ฐ๊ธฐ
- C-1-1. [โ
] ๊ธ์ก ์
๋ ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ
- ex) "๊ตฌ์ ๊ธ์ก์ ์ ๋ ฅํด ์ฃผ์ธ์."
- C-1-2. [โ
] ๊ธ์ก ์
๋ ฅ ์ฒ๋ฆฌ
- ๊ธ์ก์ 1,000์ ๋จ์๋ก ์ ๋ ฅ
- ๊ณต๋ฐฑ์ด ๋ค์ด๊ฐ ๊ฒฝ์ฐ ์ ๊ฑฐ
- ex) 8000
- C-1-3. [โ
] ๊ธ์ก ์
๋ ฅ ์์ธ ์ฒ๋ฆฌ
- ๊ธ์ก์ด ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ
- 1,000์์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ ๊ฒฝ์ฐ
- ๊ธ์ก์ด 1,000์ ๋ฏธ๋ง์ธ ๊ฒฝ์ฐ
- throw๋ฌธ์ ์ฌ์ฉํด "[ERROR]" ๋ก ์์ํ๋ ๋ฉ์ธ์ง๋ฅผ ๊ฐ์ง๋ ์์ธ ๋ฐ์
- ex) [ERROR] ๊ตฌ์ ๊ธ์ก์ 1,000์ ๋จ์๋ก ์ ๋ ฅํด์ผ ํฉ๋๋ค.
- [โ๏ธ]
๋ก๋ ๋ฒํธ ๋ฐํ
- C-2-1. [โ
] ๊ตฌ์
๊ธ์ก์ ๋ฐ๋ฅธ ๋ก๋ ๋ฐํ
- 1,000์ ๋จ์๋ก ๋ก๋ ๋ฒํธ ์๋ ์์ฑ
- C-2-2. [โ
] ๋ก๋ ๋ฒํธ ์ค๋ณต ์์ด ์์ฑ
- ์ซ์ ๋ฒ์ 1~45
- C-2-3. [โ
] ๋ฐํํ ๋ก๋ ์๋ ๋ฐ ๋ฒํธ ์ถ๋ ฅ
- ๋ฒํธ๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅ
- ex) "8๊ฐ๋ฅผ ๊ตฌ๋งคํ์ต๋๋ค."
- []
๋น์ฒจ ๋ฒํธ ์ ๋ ฅ ๋ฐ๊ธฐ
- C-3-1. [] ๋น์ฒจ ๋ฒํธ ์
๋ ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ
- ex) "๋น์ฒจ ๋ฒํธ๋ฅผ ์ ๋ ฅํด ์ฃผ์ธ์."
- C-3-2. [] ๋น์ฒจ ๋ฒํธ ์
๋ ฅ ์ฒ๋ฆฌ
- ๋ฒํธ๋ ์ผํ๋ก ๊ตฌ๋ถํ์ฌ ์ ๋ ฅ
- ex) 1,2,3,4,5,6
- C-3-3. [] ๋น์ฒจ ๋ฒํธ ์
๋ ฅ ์์ธ ์ฒ๋ฆฌ
- ๋ฒํธ๊ฐ ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ
- ๋ฒํธ ๋ฒ์๊ฐ 1~45๊ฐ ์๋ ๊ฒฝ์ฐ
- ๋ฒํธ๊ฐ ์ค๋ณต๋ ๊ฒฝ์ฐ
- ๋ฒํธ๊ฐ 6๊ฐ๊ฐ ์๋ ๊ฒฝ์ฐ
- throw๋ฌธ์ ์ฌ์ฉํด "[ERROR]" ๋ก ์์ํ๋ ๋ฉ์ธ์ง๋ฅผ ๊ฐ์ง๋ ์์ธ ๋ฐ์
- ex) [ERROR] ๋ก๋ ๋ฒํธ๋ 1๋ถํฐ 45 ์ฌ์ด์ ์ซ์์ฌ์ผ ํฉ๋๋ค.
- []
๋ณด๋์ค ๋ฒํธ ์ ๋ ฅ ๋ฐ๊ธฐ
- C-4-1. [] ๋ณด๋์ค ๋ฒํธ ์
๋ ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ
- ex) "๋ณด๋์ค ๋ฒํธ๋ฅผ ์ ๋ ฅํด ์ฃผ์ธ์."
- C-4-2. [] ๋ณด๋์ค ๋ฒํธ ์
๋ ฅ ์ฒ๋ฆฌ
- ๋น์ฒจ ๋ฒํธ์ ์ค๋ณต๋์ง ์๊ฒ ์ ๋ ฅ
- C-4-3. [] ๋ณด๋์ค ๋ฒํธ ์
๋ ฅ ์์ธ ์ฒ๋ฆฌ
- ๋ฒํธ๊ฐ ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ
- ๋ฒํธ ๋ฒ์๊ฐ 1~45๊ฐ ์๋ ๊ฒฝ์ฐ
- ๋น์ฒจ ๋ฒํธ์ ์ค๋ณต๋๋ ๊ฒฝ์ฐ
- throw๋ฌธ์ ์ฌ์ฉํด "[ERROR]" ๋ก ์์ํ๋ ๋ฉ์ธ์ง๋ฅผ ๊ฐ์ง๋ ์์ธ ๋ฐ์
- ex) [ERROR] ๋ณด๋์ค ๋ฒํธ๋ ๋น์ฒจ ๋ฒํธ์ ์ค๋ณต๋ ์ ์์ต๋๋ค.
- []
๋น์ฒจ ๊ฒฐ๊ณผ ๊ณ์ฐ
- C-5-1. [] ์ฌ์ฉ์์ ๋ก๋ ๋ฒํธ์ ๋น์ฒจ ๋ฒํธ ๋น๊ต
- C-5-2. [] ๋น์ฒจ ๋ด์ญ ๊ณ์ฐ
- ๋ฑ์๋ณ ๋น์ฒจ ๊ธฐ์ค์ ๋ฐ๋ฅธ ๋น์ฒจ ๋ด์ญ ํ์ธ
- C-5-3. [] ์์ต๋ฅ ๊ณ์ฐ
- ์์ต๋ฅ ์ ๊ตฌ์ ๊ธ์ก ๋๋น ๋น์ฒจ ๊ธ์ก์ผ๋ก ๊ณ์ฐ
- []
๋น์ฒจ ๊ฒฐ๊ณผ ์ถ๋ ฅ
- C-6-1. [] ๋น์ฒจ ํต๊ณ ๋ฉ์ธ์ง ์ถ๋ ฅ
- ex) "๋น์ฒจ ํต๊ณ"
- C-6-2. [] ๋น์ฒจ ๋ด์ญ ์ถ๋ ฅ
- ex) "3๊ฐ ์ผ์น (5,000์) - 1๊ฐ
- C-6-3. [] ์์ต ๋ด์ญ ์ถ๋ ฅ
- ์์์ ๋์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ
- ex) "์ด ์์ต๋ฅ ์ 62.5%์ ๋๋ค"
T-1. [โ๏ธ] ๋ก๋ ๊ตฌ์
๊ธ์ก ์
๋ ฅ ๋ฐ๊ธฐ ํ
์คํธ
- T-1-1. [โ ] ๊ธ์ก ์ ๋ ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ ํ ์คํธ
- T-1-2. [โ ] ๊ธ์ก ์ ๋ ฅ ์ฒ๋ฆฌ ํ ์คํธ
- T-1-3. [โ ] ๊ธ์ก ์ ๋ ฅ ์์ธ ์ฒ๋ฆฌ ํ ์คํธ
T-2. [โ๏ธ] ๋ก๋ ๋ฒํธ ๋ฐํ ํ
์คํธ
- T-2-1. [โ ] ๊ตฌ์ ๊ธ์ก์ ๋ฐ๋ฅธ ๋ก๋ ๋ฐํ ํ ์คํธ
- T-2-2. [โ ] ๋ก๋ ๋ฒํธ ์ค๋ณต ์์ด ์์ฑ ํ ์คํธ
- T-2-3. [โ ] ๋ฐํํ ๋ก๋ ์๋ ๋ฐ ๋ฒํธ ์ถ๋ ฅ ํ ์คํธ
T-3. [] ๋น์ฒจ ๋ฒํธ ์
๋ ฅ ๋ฐ๊ธฐ ํ
์คํธ
- T-3-1. [โ ] ๋น์ฒจ ๋ฒํธ ์ ๋ ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ ํ ์คํธ
- T-3-2. [] ๋น์ฒจ ๋ฒํธ ์ ๋ ฅ ์ฒ๋ฆฌ ํ ์คํธ
- T-3-3. [] ๋น์ฒจ ๋ฒํธ ์ ๋ ฅ ์์ธ ์ฒ๋ฆฌ ํ ์คํธ
T-4. [] ๋ณด๋์ค ๋ฒํธ ์
๋ ฅ ๋ฐ๊ธฐ ํ
์คํธ
- T-4-1. [] ๋ณด๋์ค ๋ฒํธ ์ ๋ ฅ ๋ฉ์ธ์ง ์ถ๋ ฅ ํ ์คํธ
- T-4-2. [] ๋ณด๋์ค ๋ฒํธ ์ ๋ ฅ ์ฒ๋ฆฌ ํ ์คํธ
- T-4-3. [] ๋ณด๋์ค ๋ฒํธ ์ ๋ ฅ ์์ธ ์ฒ๋ฆฌ ํ ์คํธ
T-5. [] ๋น์ฒจ ๊ฒฐ๊ณผ ๊ณ์ฐ ํ
์คํธ
- T-5-1. [] ์ฌ์ฉ์์ ๋ก๋ ๋ฒํธ์ ๋น์ฒจ ๋ฒํธ ๋น๊ต ํ ์คํธ
- T-5-2. [] ๋น์ฒจ ๋ด์ญ ๊ณ์ฐ ํ ์คํธ
- T-5-3. [] ์์ต๋ฅ ๊ณ์ฐ ํ ์คํธ
T-6. [] ๋น์ฒจ ๊ฒฐ๊ณผ ์ถ๋ ฅ ํ
์คํธ
- T-6-1. [] ๋น์ฒจ ํต๊ณ ๋ฉ์ธ์ง ์ถ๋ ฅ ํ ์คํธ
- T-6-2. [] ๋น์ฒจ ๋ด์ญ ์ถ๋ ฅ ํ ์คํธ
- T-6-3. [] ์์ต ๋ด์ญ ์ถ๋ ฅ ํ ์คํธ
Node.js 18.17.1 ๋ฒ์ ์์ ์คํ ๊ฐ๋ฅํด์ผ ํ๋ค.- ํ๋ก๊ทธ๋จ ์คํ์
์์์ ์ App.js์ play ๋ฉ์๋์ด๋ค. package.json์ ๋ณ๊ฒฝํ ์ ์๋ค.์์ Vanila JS๋ก๋ง ๊ตฌํํ๋ค.์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(jQuery, Lodash ๋ฑ)๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.- JavaScript
์ฝ๋ ์ปจ๋ฒค์ ์ ์งํค๋ฉด์ ํ๋ก๊ทธ๋๋ฐ ํ๋ค - ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์
process.exit()๋ฅผ ํธ์ถํ์ง ์๋๋ค - ํ๋ก๊ทธ๋จ ๊ตฌํ์ด ์๋ฃ๋๋ฉด
ApplicationTest์ ๋ชจ๋ ํ ์คํธ๊ฐ ์ฑ๊ณตํด์ผ ํ๋ค - ์๊ตฌ ์ฌํญ์์ ๋ฌ๋ฆฌ ๋ช
์ํ์ง ์๋ ํ ํ์ผ, ํจํค์ง ์ด๋ฆ์
์์ ํ๊ฑฐ๋ ์ด๋ํ์ง ์๋๋ค. indent(์ธ๋ดํธ, ๋ค์ฌ์ฐ๊ธฐ) 2๊น์ง๋ง ํ์ฉํ๋ค.- ์๋ฅผ ๋ค์ด while๋ฌธ ์์ if๋ฌธ์ด ์์ผ๋ฉด ๋ค์ฌ์ฐ๊ธฐ๋ 2์ด๋ค.
ํจ์ (๋๋ ๋ฉ์๋)๊ฐ ํ๊ฐ์ง ์ผ๋งํ๋๋ก ์ต๋ํ ์๊ฒ ๋ง๋ ๋ค.- jest๋ฅผ ์ด์ฉํ์ฌ ๋ณธ์ธ์ด ์ ๋ฆฌํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ด ์ ์ ๋์ํจ์
ํ ์คํธ ์ฝ๋๋ก ํ์ธํ๋ค. @woowacourse/mission-utils์์ ์ ๊ณตํ๋ Random ๋ฐ Console API๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ๋ค- Random ๊ฐ ์ถ์ถ์
Random.pickNumberInRange()๋ฅผ ํ์ฉํ๋ค. - ์ฌ์ฉ์์ ๊ฐ์ ์
๋ ฅ ๋ฐ๊ณ ์ถ๋ ฅํ๊ธฐ ์ํด์๋
Console.readLineAsync, Console.print๋ฅผ ํ์ฉํ๋ค
ํจ์(๋๋ ๋ฉ์๋)์ ๊ธธ์ด๊ฐ 15๋ผ์ธ์ ๋์ด๊ฐ์ง ์๋๋ก ๊ตฌํํ๋ค.ํจ์(๋๋ ๋ฉ์๋)๊ฐ ํ ๊ฐ์ง ์ผ๋ง์ ํ๋๋ก ๊ตฌํํ๋ค.else๋ฅผ ์ง์ํ๋ค- if ์กฐ๊ฑด์ ์์ ๊ฐ์ returnํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ฉด else๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๋๋ค
๋๋ฉ์ธ ๋ก์ง์ ๋จ์ ํ ์คํธ๋ฅผ ๊ตฌํํด์ผ ํ๋ค.- ๋จ UI(Console.readLineAsync, Console.print) ๋ก์ง์ ๋ํ ๋จ์ ํ
์คํธ๋ ์ ์ธํ๋ค.
- ํต์ฌ ๋ก์ง์ ๊ตฌํํ๋ ์ฝ๋์ UI๋ฅผ ๋ด๋นํ๋ ๋ก์ง์ ๊ตฌ๋ถํ๋ค.
README. md๋ฅผ ์์ธํ ์์ฑํ๋ค- ๊ธฐ๋ฅ ๋ชฉ๋ก์
์ฌ๊ฒํํ๋ค- ์์ธ ์ํฉ๋ ์ ๋ฆฌํ๋ค
- ๊ธฐ๋ฅ ๋ชฉ๋ก์
์ ๋ฐ์ดํธํ๋ค - ๊ฐ์
ํ๋ ์ฝ๋ฉํ์ง ์๋๋ค- ์์๋ฅผ ๋ง๋ค๊ณ ์ด๋ฆ์ ๋ถ์ฌํด ๋ณ์์ ์ญํ ์ด ๋ฌด์์ธ์ง ์๋๋ฅผ ๋๋ฌ๋ธ๋ค
๊ตฌํ ์์๋ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ด๋ค- ํด๋์ค๋ ํ๋, ์์ฑ์, ๋ฉ์๋ ์์ผ๋ก ์์ฑํ๋ค
ํ ํจ์๊ฐ ํ ๊ฐ์ง ๊ธฐ๋ฅ๋ง ๋ด๋นํ๊ฒ ํ๋ค- ํจ์๊ฐ ํ ๊ฐ์ง ๊ธฐ๋ฅ์ ํ๋์ง
ํ์ธํ๋ ๊ธฐ์ค์ ์ธ์ด๋ค- ํจ์์ ๊ธธ์ด๋ฅผ 15๋ผ์ธ์ด ๋์ด๊ฐ์ง ์๋๋ก ๊ตฌํํ๋ค
- JavaScript์์
๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ดํดํ๊ณ ์ฌ์ฉํ๋ค ํ ์คํธ๋ฅผ ์์ฑํ๋ ์ด์์ ๋ํด ๋ณธ์ธ์ ๊ฒฝํ์ ํ ๋๋ก ์ ๋ฆฌํด๋ณธ๋ค- ์ฒ์๋ถํฐ ํฐ ๋จ์์ ํ ์คํธ๋ฅผ ๋ง๋ค์ง ์๋๋ค
์๊ตฌ์ฌํญ์ ์ ํํ ์ค์ํ๋ค์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์๋ฏธ ์๊ฒ ์์ฑํ๋คgit์ ํตํด ๊ด๋ฆฌํ ์์์ ๋ํด์๋ ๊ณ ๋ คํ๋ค- Pull Request๋ฅผ ๋ณด๋ด๊ธฐ ์
๋ธ๋์น๋ฅผ ํ์ธํ๋ค - PR์ ํ ๋ฒ ์์ฑํ๋ค๋ฉด ๋ซ์ง ๋ง๊ณ
์ถ๊ฐ ์ปค๋ฐ์ ํ๋ค ์ด๋ฆ์ ํตํด ์๋๋ฅผ ๋๋ฌ๋ธ๋ค์ถ์ฝํ์ง ์๋๋ค๊ณต๋ฐฑ๋ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ด๋ค๊ณต๋ฐฑ ๋ผ์ธ์ ์๋ฏธ ์๊ฒ ์ฌ์ฉํ๋คspace์ tab์ ํผ์ฉํ์ง ์๋๋ค์๋ฏธ ์๋ ์ฃผ์์ ๋ฌ์ง ์๋๋คlinter์Code Formatter์ ๊ธฐ๋ฅ์ ํ์ฉํ๋คEOL(End Of Line)๋ถํ์ํ console.log๋ฅผ ๋จ๊ธฐ์ง ์๋๋คJavaScript์์ ์ ๊ณตํ๋ API๋ฅผ ์ ๊ทน ํ์ฉํ๋ค
