Skip to content
This repository was archived by the owner on Jan 25, 2024. It is now read-only.

geoje/java-pairmatching-precourse

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋ฏธ์…˜ - ํŽ˜์–ด๋งค์นญ๊ด€๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

๐Ÿ” ์ง„ํ–‰๋ฐฉ์‹

  • ๋ฏธ์…˜์€ ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ, ๊ณผ์ œ ์ง„ํ–‰ ์š”๊ตฌ์‚ฌํ•ญ ์„ธ ๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
  • ์„ธ ๊ฐœ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ๋‹ค. ํŠนํžˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์— ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ๋งŒ๋“ค๊ณ , ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์ปค๋ฐ‹ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.
  • ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์— ๊ธฐ์žฌ๋˜์ง€ ์•Š์€ ๋‚ด์šฉ์€ ์Šค์Šค๋กœ ํŒ๋‹จํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค.

โœ‰๏ธ ๋ฏธ์…˜ ์ œ์ถœ ๋ฐฉ๋ฒ•

  • ๋ฏธ์…˜ ๊ตฌํ˜„์„ ์™„๋ฃŒํ•œ ํ›„ GitHub์„ ํ†ตํ•ด ์ œ์ถœํ•ด์•ผ ํ•œ๋‹ค.
  • GitHub์— ๋ฏธ์…˜์„ ์ œ์ถœํ•œ ํ›„ ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ์ง€์› ํ”Œ๋žซํผ ์— ์ ‘์†ํ•˜์—ฌ ํ”„๋ฆฌ์ฝ”์Šค ๊ณผ์ œ๋ฅผ ์ œ์ถœํ•œ๋‹ค.
    • ์ž์„ธํ•œ ๋ฐฉ๋ฒ•์€ ๋งํฌ ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค.
    • Pull Request๋งŒ ๋ณด๋‚ด๊ณ , ์ง€์› ํ”Œ๋žซํผ์—์„œ ๊ณผ์ œ๋ฅผ ์ œ์ถœํ•˜์ง€ ์•Š์œผ๋ฉด ์ตœ์ข… ์ œ์ถœํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋‹ˆ ์ฃผ์˜ํ•œ๋‹ค.

โœ”๏ธ ๊ณผ์ œ ์ œ์ถœ ์ „ ์ฒดํฌ๋ฆฌ์ŠคํŠธ - 0์  ๋ฐฉ์ง€

  • ํ„ฐ๋ฏธ๋„์—์„œ java -version์„ ์‹คํ–‰ํ•ด ์ž๋ฐ” 8์ธ์ง€ ํ™•์ธํ•œ๋‹ค. ๋˜๋Š” Eclipse, IntelliJ IDEA์™€ ๊ฐ™์€ IDE์˜ ์ž๋ฐ” 8๋กœ ์‹คํ–‰ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  • ํ„ฐ๋ฏธ๋„์—์„œ ๋งฅ ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ./gradlew clean test, ์œˆ๋„์šฐ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ gradlew.bat clean test ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ํ†ต๊ณผํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
BUILD SUCCESSFUL in 0s

๐Ÿš€ ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ

  • ์šฐํ…Œ์ฝ”์˜ ๋ฏธ์…˜์€ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.
  • ๋ฏธ์…˜์„ ํ•จ๊ป˜ํ•  ํŽ˜์–ด๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์™„์„ฑํ•˜์‹œ์˜ค.

๋„๋ฉ”์ธ ์„ค๋ช…

  • ์šฐํ…Œ์ฝ”์—์„œ ์šด์˜ํ•˜๋Š” ๊ณผ์ •์€ ํ˜„์žฌ ๋ฐฑ์—”๋“œ ๊ณผ์ •๊ณผ ํ”„๋ก ํŠธ์—”๋“œ ๊ณผ์ •์ด ์žˆ๋‹ค.
  • ๊ฐ ๊ณผ์ •์€ 5๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์ง„ํ–‰์ด ๋˜๋Š”๋ฐ ์ด๋ฅผ ๋ ˆ๋ฒจ์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ฐ ๋ ˆ๋ฒจ์—์„œ ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋‚ด์šฉ์„ ํ•™์Šตํ•˜๋Š”๋ฐ ์ด ๊ณผ์ •์„ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.
  • ๋ฏธ์…˜์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „ ํŽ˜์–ด๋ฅผ ๋งค์นญํ•˜๋Š”๋ฐ ๋‹ค์–‘ํ•œ ํŽ˜์–ด๋ฅผ ๋งŒ๋‚˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ™์€ ๋ ˆ๋ฒจ ๋™์•ˆ์€ ๊ฐ™์€ ํŽ˜์–ด๋ฅผ ๋งŒ๋‚˜์ง€ ์•Š๋Š”๋‹ค.

ํŽ˜์–ด ๋งค์นญ ๊ธฐ๋Šฅ

  • ํŽ˜์–ด ๋งค์นญ ์กฐ๊ฑด
- ๋ฏธ์…˜์„ ํ•จ๊ป˜ ์ˆ˜ํ–‰ํ•  ํŽ˜์–ด๋ฅผ ๋‘๋ช…์”ฉ ๋งค์นญํ•œ๋‹ค.
- ํŽ˜์–ด ๋งค์นญ ๋Œ€์ƒ์ด ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ ํ•œ ํŽ˜์–ด๋Š” 3์ธ์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค. 
- ๊ฐ™์€ ๋ ˆ๋ฒจ์—์„œ ์ด๋ฏธ ํŽ˜์–ด๋ฅผ ๋งบ์€ ํฌ๋ฃจ์™€๋Š” ๋‹ค์‹œ ํŽ˜์–ด๋กœ ๋งค์นญ๋  ์ˆ˜ ์—†๋‹ค.
  • ํŽ˜์–ด ๋งค์นญ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•
- ํฌ๋ฃจ๋“ค์˜ ์ด๋ฆ„ ๋ชฉ๋ก์„ List<String> ํ˜•ํƒœ๋กœ ์ค€๋น„ํ•œ๋‹ค.
- ํฌ๋ฃจ ๋ชฉ๋ก์˜ ์ˆœ์„œ๋ฅผ ๋žœ๋ค์œผ๋กœ ์„ž๋Š”๋‹ค. ์ด ๋•Œ `camp.nextstep.edu.missionutils.Randoms`์˜ shuffle ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค.
- ๋žœ๋ค์œผ๋กœ ์„ž์ธ ํŽ˜์–ด ๋ชฉ๋ก์—์„œ ํŽ˜์–ด ๋งค์นญ์„ ํ•  ๋•Œ ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋‘๋ช…์”ฉ ํŽ˜์–ด๋ฅผ ๋งบ๋Š”๋‹ค.
- ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ๋‚จ์€ ํฌ๋ฃจ๋Š” ๋งˆ์ง€๋ง‰ ํŽ˜์–ด์— ํฌํ•จ์‹œํ‚จ๋‹ค.
- ๊ฐ™์€ ๋ ˆ๋ฒจ์—์„œ ์ด๋ฏธ ํŽ˜์–ด๋กœ ๋งŒ๋‚œ์ ์ด ์žˆ๋Š” ํฌ๋ฃจ๋ผ๋ฆฌ ๋‹ค์‹œ ํŽ˜์–ด๋กœ ๋งค์นญ ๋œ๋‹ค๋ฉด ํฌ๋ฃจ ๋ชฉ๋ก์˜ ์ˆœ์„œ๋ฅผ ๋‹ค์‹œ ๋žœ๋ค์œผ๋กœ ์„ž์–ด์„œ ๋งค์นญ์„ ์‹œ๋„ํ•œ๋‹ค.
- 3ํšŒ ์‹œ๋„๊นŒ์ง€ ๋งค์นญ์ด ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋งค์นญ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
> ์ฝ”๋“œ ์˜ˆ์‹œ
        
List<String> crewNames; // ํŒŒ์ผ์—์„œ ๋กœ๋“œํ•œ ํฌ๋ฃจ ์ด๋ฆ„ ๋ชฉ๋ก
List<String> shuffledCrew = Randoms.shuffle(crewNames); // ์„ž์ธ ํฌ๋ฃจ ์ด๋ฆ„ ๋ชฉ๋ก

// ํŽ˜์–ด ๋งค์นญ & ๊ฒ€์ฆ

...
  • ํŽ˜์–ด ์žฌ๋งค์นญ ์‹œ๋„
- ์•ˆ๋‚ด ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅ ํ›„ ๋งค์นญ์„ ์ง„ํ–‰ํ•œ๋‹ค.
- ์•„๋‹ˆ์˜ค๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ ์ฝ”์Šค, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ๋‹ค์‹œ ์„ ํƒํ•œ๋‹ค.

ํŽ˜์–ด ์กฐํšŒ ๊ธฐ๋Šฅ

  • ๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์„ ํƒํ•˜๋ฉด ํ•ด๋‹น ๋ฏธ์…˜์˜ ํŽ˜์–ด ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ๋งค์นญ ์ด๋ ฅ์ด ์—†์œผ๋ฉด ๋งค์นญ ์ด๋ ฅ์ด ์—†๋‹ค๊ณ  ์•ˆ๋‚ดํ•œ๋‹ค.
[ERROR] ๋งค์นญ ์ด๋ ฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

๐Ÿ’พ ์‚ฌ์ „ ์ œ๊ณต ์ •๋ณด

  • ํฌ๋ฃจ ์ •๋ณด๋Š” src/resources ํ•˜์œ„์— md ํŒŒ์ผ๋กœ ์ œ๊ณต๋˜๋ฉฐ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜ ์ •๋ณด๋Š” ์•„๋ž˜์— ์ œ๊ณตํ•˜๋Š” ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
## ๊ณผ์ •
- ๋ฐฑ์—”๋“œ
- ํ”„๋ก ํŠธ์—”๋“œ

## ๋ ˆ๋ฒจ
- ๋ ˆ๋ฒจ1
- ๋ ˆ๋ฒจ2
- ๋ ˆ๋ฒจ3
- ๋ ˆ๋ฒจ4
- ๋ ˆ๋ฒจ5

## ๋ฏธ์…˜
### ๋ ˆ๋ฒจ1
- ์ž๋™์ฐจ๊ฒฝ์ฃผ
- ๋กœ๋˜
- ์ˆซ์ž์•ผ๊ตฌ๊ฒŒ์ž„

### ๋ ˆ๋ฒจ2
- ์žฅ๋ฐ”๊ตฌ๋‹ˆ
- ๊ฒฐ์ œ
- ์ง€ํ•˜์ฒ ๋…ธ์„ ๋„

### ๋ ˆ๋ฒจ3(์—†์Œ)

### ๋ ˆ๋ฒจ4
- ์„ฑ๋Šฅ๊ฐœ์„ 
- ๋ฐฐํฌ

### ๋ ˆ๋ฒจ5 (์—†์Œ)

โœ๐Ÿป ์ž…์ถœ๋ ฅ ์š”๊ตฌ์‚ฌํ•ญ

ํŒŒ์ผ ์ž…์ถœ๋ ฅ

  • ํŽ˜์–ด ๋งค์นญ์— ํ•„์š”ํ•œ ํฌ๋ฃจ๋“ค์˜ ์ด๋ฆ„์„ ํŒŒ์ผ ์ž…์ถœ๋ ฅ์„ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
  • src/main/resources/backend-crew.md๊ณผ src/main/resources/frontend-crew.md ํŒŒ์ผ์„ ์ด์šฉํ•œ๋‹ค.
  • ๋‘ ํŒŒ์ผ์˜ ๋‚ด์šฉ์€ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ˆ˜์ • ์‹œ ํฌ๋ฃจ๋“ค์˜ ์ด๋ฆ„์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†๋‹ค.
  • ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•์€ ์ž๋ฐ” ํŒŒ์ผ ์ฝ๊ธฐ๋‚˜ ์ž๋ฐ” ํŒŒ์ผ ์ž…์ถœ๋ ฅ๊ณผ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ ๊ตฌ๊ธ€๋งํ•ด์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

์—๋Ÿฌ ์ฒ˜๋ฆฌ

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ๊ฐ’์„ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ IllegalArgumentException๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , [ERROR]๋กœ ์‹œ์ž‘ํ•˜๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅ ํ›„ ํ•ด๋‹น ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.
  • ์•„๋ž˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ ์˜ˆ์‹œ์™€ ๋™์ผํ•˜๊ฒŒ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค.

๊ธฐ๋Šฅ ์„ ํƒ

  • ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๋ฉด ๊ธฐ๋Šฅ์˜ ์ข…๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ทธ ์ค‘ ํ•˜๋‚˜์˜ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.
๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์„ธ์š”.
1. ํŽ˜์–ด ๋งค์นญ
2. ํŽ˜์–ด ์กฐํšŒ
3. ํŽ˜์–ด ์ดˆ๊ธฐํ™”
Q. ์ข…๋ฃŒ

ํŽ˜์–ด ๋งค์นญ

  • ๊ณผ์ •์™€ ๋ฏธ์…˜์„ ์ถœ๋ ฅํ•˜๊ณ  ๋งค์นญํ•˜๊ณ ์ž ํ•˜๋Š” ๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.
#############################################
๊ณผ์ •: ๋ฐฑ์—”๋“œ | ํ”„๋ก ํŠธ์—”๋“œ
๋ฏธ์…˜:
  - ๋ ˆ๋ฒจ1: ์ž๋™์ฐจ๊ฒฝ์ฃผ | ๋กœ๋˜ | ์ˆซ์ž์•ผ๊ตฌ๊ฒŒ์ž„
  - ๋ ˆ๋ฒจ2: ์žฅ๋ฐ”๊ตฌ๋‹ˆ | ๊ฒฐ์ œ | ์ง€ํ•˜์ฒ ๋…ธ์„ ๋„
  - ๋ ˆ๋ฒจ3: 
  - ๋ ˆ๋ฒจ4: ์„ฑ๋Šฅ๊ฐœ์„  | ๋ฐฐํฌ
  - ๋ ˆ๋ฒจ5: 
############################################
๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์„ ํƒํ•˜์„ธ์š”.
ex) ๋ฐฑ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ
  • ๋งค์นญ์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
  • ์ถœ๋ ฅ๋˜๋Š” ํŽ˜์–ด์˜ ์ˆœ์„œ๋Š” camp.nextstep.edu.missionutils.Randoms์˜ shuffle ๋ฉ”์„œ๋“œ์˜ ๊ฒฐ๊ณผ ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ๋‹ค.
ํŽ˜์–ด ๋งค์นญ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
์šฉํŒ” : ๋Œ€๋งŒ
๋Œ€ํ˜‘ : ๋•๊ทœ
์น˜์ˆ˜ : ์ค€ํ˜ธ
ํƒœ์›… : ๋ฐฑํ˜ธ
๋‹ฌ์žฌ : ํƒœ์‚ฐ
ํ•œ๋‚˜ : ์ˆ˜๊ฒธ
ํƒœ์„ญ : ๋Œ€๋‚จ
์ค€์„ญ : ์†Œ์—ฐ
ํ˜„์ค€ : ํ˜ธ์—ด
๊ตฌ์‹ : ๊ฒฝํƒœ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ ์˜ˆ์‹œ

๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์„ธ์š”.
1. ํŽ˜์–ด ๋งค์นญ
2. ํŽ˜์–ด ์กฐํšŒ
3. ํŽ˜์–ด ์ดˆ๊ธฐํ™”
Q. ์ข…๋ฃŒ
1

#############################################
๊ณผ์ •: ๋ฐฑ์—”๋“œ | ํ”„๋ก ํŠธ์—”๋“œ
๋ฏธ์…˜:
  - ๋ ˆ๋ฒจ1: ์ž๋™์ฐจ๊ฒฝ์ฃผ | ๋กœ๋˜ | ์ˆซ์ž์•ผ๊ตฌ๊ฒŒ์ž„
  - ๋ ˆ๋ฒจ2: ์žฅ๋ฐ”๊ตฌ๋‹ˆ | ๊ฒฐ์ œ | ์ง€ํ•˜์ฒ ๋…ธ์„ ๋„
  - ๋ ˆ๋ฒจ3: 
  - ๋ ˆ๋ฒจ4: ์„ฑ๋Šฅ๊ฐœ์„  | ๋ฐฐํฌ
  - ๋ ˆ๋ฒจ5: 
############################################
๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์„ ํƒํ•˜์„ธ์š”.
ex) ๋ฐฑ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ
ํ”„๋ก ํŠธ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ

ํŽ˜์–ด ๋งค์นญ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
๋‹ค๋น„ : ์‹ ๋””
์‰๋ฆฌ : ๋ด๋ฒ„
์ œํ‚ค : ๋กœ๋“œ
๋ผ๋ผ : ์œŒํ„ฐ
๋‹ˆ์ฝœ : ์ด๋ธŒ
๋ฆฐ๋‹ค : ์‹œ์ €
๋ณด๋…ธ : ์ œ์‹œ : ์ œํ‚ค

๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์„ธ์š”.
1. ํŽ˜์–ด ๋งค์นญ
2. ํŽ˜์–ด ์กฐํšŒ
3. ํŽ˜์–ด ์ดˆ๊ธฐํ™”
Q. ์ข…๋ฃŒ
1

#############################################
๊ณผ์ •: ๋ฐฑ์—”๋“œ | ํ”„๋ก ํŠธ์—”๋“œ
๋ฏธ์…˜:
  - ๋ ˆ๋ฒจ1: ์ž๋™์ฐจ๊ฒฝ์ฃผ | ๋กœ๋˜ | ์ˆซ์ž์•ผ๊ตฌ๊ฒŒ์ž„
  - ๋ ˆ๋ฒจ2: ์žฅ๋ฐ”๊ตฌ๋‹ˆ | ๊ฒฐ์ œ | ์ง€ํ•˜์ฒ ๋…ธ์„ ๋„
  - ๋ ˆ๋ฒจ3: 
  - ๋ ˆ๋ฒจ4: ์„ฑ๋Šฅ๊ฐœ์„  | ๋ฐฐํฌ
  - ๋ ˆ๋ฒจ5: 
############################################
๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์„ ํƒํ•˜์„ธ์š”.
ex) ๋ฐฑ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ
ํ”„๋ก ํŠธ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ

๋งค์นญ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งค์นญํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
๋„ค | ์•„๋‹ˆ์˜ค
์•„๋‹ˆ์˜ค

๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์„ ํƒํ•˜์„ธ์š”.
ex) ๋ฐฑ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ
ํ”„๋ก ํŠธ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ
๋งค์นญ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งค์นญํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
๋„ค | ์•„๋‹ˆ์˜ค
๋„ค

ํŽ˜์–ด ๋งค์นญ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
์ด๋ธŒ : ์œŒํ„ฐ
๋ณด๋…ธ : ์ œํ‚ค
์‹ ๋”” : ๋กœ๋“œ
์ œ์‹œ : ๋ฆฐ๋‹ค
์‹œ์ € : ๋ผ๋ผ
๋‹ˆ์ฝœ : ๋‹ค๋น„
๋ฆฌ์‚ฌ : ๋ด๋ฒ„ : ์ œํ‚ค

๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์„ธ์š”.
1. ํŽ˜์–ด ๋งค์นญ
2. ํŽ˜์–ด ์กฐํšŒ
3. ํŽ˜์–ด ์ดˆ๊ธฐํ™”
Q. ์ข…๋ฃŒ
2

#############################################
๊ณผ์ •: ๋ฐฑ์—”๋“œ | ํ”„๋ก ํŠธ์—”๋“œ
๋ฏธ์…˜:
  - ๋ ˆ๋ฒจ1: ์ž๋™์ฐจ๊ฒฝ์ฃผ | ๋กœ๋˜ | ์ˆซ์ž์•ผ๊ตฌ๊ฒŒ์ž„
  - ๋ ˆ๋ฒจ2: ์žฅ๋ฐ”๊ตฌ๋‹ˆ | ๊ฒฐ์ œ | ์ง€ํ•˜์ฒ ๋…ธ์„ ๋„
  - ๋ ˆ๋ฒจ3: 
  - ๋ ˆ๋ฒจ4: ์„ฑ๋Šฅ๊ฐœ์„  | ๋ฐฐํฌ
  - ๋ ˆ๋ฒจ5: 
############################################
๊ณผ์ •, ๋ ˆ๋ฒจ, ๋ฏธ์…˜์„ ์„ ํƒํ•˜์„ธ์š”.
ex) ๋ฐฑ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ
ํ”„๋ก ํŠธ์—”๋“œ, ๋ ˆ๋ฒจ1, ์ž๋™์ฐจ๊ฒฝ์ฃผ

ํŽ˜์–ด ๋งค์นญ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
์ด๋ธŒ : ์œŒํ„ฐ
๋ณด๋…ธ : ์ œํ‚ค
์‹ ๋”” : ๋กœ๋“œ
์ œ์‹œ : ๋ฆฐ๋‹ค
์‹œ์ € : ๋ผ๋ผ
๋‹ˆ์ฝœ : ๋‹ค๋น„
๋ฆฌ์‚ฌ : ๋ด๋ฒ„ : ์ œํ‚ค

๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์„ธ์š”.
1. ํŽ˜์–ด ๋งค์นญ
2. ํŽ˜์–ด ์กฐํšŒ
3. ํŽ˜์–ด ์ดˆ๊ธฐํ™”
Q. ์ข…๋ฃŒ
3

์ดˆ๊ธฐํ™” ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 

๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์„ธ์š”.
1. ํŽ˜์–ด ๋งค์นญ
2. ํŽ˜์–ด ์กฐํšŒ
3. ํŽ˜์–ด ์ดˆ๊ธฐํ™”
Q. ์ข…๋ฃŒ
Q

๐ŸŽฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ

  • ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ์ž‘์ ์€ Application์˜ main()์ด๋‹ค.
  • JDK 8 ๋ฒ„์ „์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. JDK 8์—์„œ ์ •์ƒ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ 0์  ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ์ž๋ฐ” ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ๋‹ค.
  • indent(์ธ๋ดํŠธ, ๋“ค์—ฌ์“ฐ๊ธฐ) depth๋ฅผ 3์ด ๋„˜์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค. 2๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด while๋ฌธ ์•ˆ์— if๋ฌธ์ด ์žˆ์œผ๋ฉด ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” 2์ด๋‹ค.
    • ํžŒํŠธ: indent(์ธ๋ดํŠธ, ๋“ค์—ฌ์“ฐ๊ธฐ) depth๋ฅผ ์ค„์ด๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ํ•จ์ˆ˜(๋˜๋Š” ๋ฉ”์†Œ๋“œ)๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋œ๋‹ค.
  • 3ํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
  • ํ•จ์ˆ˜(๋˜๋Š” ๋ฉ”์†Œ๋“œ)์˜ ๊ธธ์ด๊ฐ€ 15๋ผ์ธ์„ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค.
    • ํ•จ์ˆ˜(๋˜๋Š” ๋ฉ”์†Œ๋“œ)๊ฐ€ ํ•œ ๊ฐ€์ง€ ์ผ๋งŒ ์ž˜ ํ•˜๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค.
  • else ์˜ˆ์•ฝ์–ด๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
    • ํžŒํŠธ: if ์กฐ๊ฑด์ ˆ์—์„œ ๊ฐ’์„ returnํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด else๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
    • else๋ฅผ ์“ฐ์ง€ ๋ง๋ผ๊ณ  ํ•˜๋‹ˆ switch/case๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ switch/case๋„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • build.gradle ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ณ , ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ System.exit()๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ ๋ณ„๋„๋กœ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ ์•ˆ๋‚ด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ํŒŒ์ผ ์ˆ˜์ •๊ณผ ํŒจํ‚ค์ง€ ์ด๋™์„ ์ž์œ ๋กญ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ - Randoms, Console

  • JDK์—์„œ ๊ธฐ๋ณธ ์ œ๊ณตํ•˜๋Š” Random, Scanner API ๋Œ€์‹  camp.nextstep.edu.missionutils์—์„œ ์ œ๊ณตํ•˜๋Š” Randoms, Console API๋ฅผ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
    • Random ๊ฐ’ ์ถ”์ถœ์€ camp.nextstep.edu.missionutils.Randoms์˜ shuffle()๋ฅผ ํ™œ์šฉํ•œ๋‹ค.
    • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ๊ฐ’์€ camp.nextstep.edu.missionutils.Console์˜ readLine()์„ ํ™œ์šฉํ•œ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„์„ ์™„๋ฃŒํ–ˆ์„ ๋•Œ src/test/java ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ApplicationTest์— ์žˆ๋Š” ๋ชจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์„ฑ๊ณตํ•ด์•ผ ํ•œ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ 0์  ์ฒ˜๋ฆฌํ•œ๋‹ค.

โ—๏ธ ํžŒํŠธ

  • ์•„๋ž˜์˜ ํžŒํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ง„ํ–‰ํ•ด๋„ ์ข‹๋‹ค.
  • ๋ฐ˜๋“œ์‹œ ์•„๋ž˜์˜ ํžŒํŠธ๋ฅผ ๋”ฐ๋ผํ•ด์•ผํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ  ์ˆ˜์ •๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ณผ์ •

public enum Course {
  BACKEND("๋ฐฑ์—”๋“œ"),
  FRONTEND("ํ”„๋ก ํŠธ์—”๋“œ");

  private String name;

  Course(String name) {
    this.name = name;
  }

  // ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
}

๋ ˆ๋ฒจ

public enum Level {
  LEVEL1("๋ ˆ๋ฒจ1"),
  LEVEL2("๋ ˆ๋ฒจ2"),
  LEVEL3("๋ ˆ๋ฒจ3"),
  LEVEL4("๋ ˆ๋ฒจ4"),
  LEVEL5("๋ ˆ๋ฒจ5");

  private String name;

  Level(String name) {
    this.name = name;
  }

  // ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
}

ํฌ๋ฃจ

public class Crew {
    private Course course;
    private String name;
}

๐Ÿ“ˆ ๊ณผ์ œ ์ง„ํ–‰ ์š”๊ตฌ์‚ฌํ•ญ

  • ๋ฏธ์…˜์€ java-pairmatching-precourse ์ €์žฅ์†Œ๋ฅผ Fork/Cloneํ•ด ์‹œ์ž‘ํ•œ๋‹ค.
  • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์— java-pairmatching-precourse/docs/README.md ํŒŒ์ผ์— ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ์ •๋ฆฌํ•ด ์ถ”๊ฐ€ํ•œ๋‹ค.
  • Git์˜ ์ปค๋ฐ‹ ๋‹จ์œ„๋Š” ์•ž ๋‹จ๊ณ„์—์„œ README.md ํŒŒ์ผ์— ์ •๋ฆฌํ•œ ๊ธฐ๋Šฅ ๋ชฉ๋ก ๋‹จ์œ„๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • ๊ณผ์ œ ์ง„ํ–‰ ๋ฐ ์ œ์ถœ ๋ฐฉ๋ฒ•์€ ํ”„๋ฆฌ์ฝ”์Šค ๊ณผ์ œ ์ œ์ถœ ๋ฌธ์„œ ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค.

About

๐Ÿค ์šฐํ…Œ์ฝ” 3๊ธฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%