๐Ÿ’ฐ ๋กœ๋˜ ๊ฒŒ์ž„

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” JunHoPark93๋‹˜์ด ์ •๋ฆฌํ•˜์‹  ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค์˜ ํ”„๋ฆฌ์ฝ”์Šค, 3์ฃผ์ฐจ ๋ฏธ์…˜์ธ ๋กœ๋˜ ํ”„๋กœ์ ํŠธ ์ž…๋‹ˆ๋‹ค.

image

๊ธฐ๋Šฅ ๋ชฉ๋ก

  • ๋กœ๋˜ ๊ฒŒ์ž„ ์‹คํ–‰ ๋ฐ ์ข…๋ฃŒ
  • ์‚ฌ์šฉ์ž ๊ตฌ๋งค ๊ธˆ์•ก์— ๋”ฐ๋ฅธ ๋กœ๋˜์ข…์ด ๋ฐœ๊ธ‰ (1,000์› ๊ธฐ์ค€)
    • ๊ตฌ์ž… ๊ธˆ์•ก์ด ์ •์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ
    • ๊ตฌ์ž… ๊ธˆ์•ก์ด ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ
    • ๊ตฌ์ž… ๊ธˆ์•ก ๋‹จ์œ„๊ฐ€ 1,000์›์ด ์•„๋‹Œ ๊ฒฝ์šฐ
  • 8๊ฐœ์˜ ๋žœ๋คํ•œ ์ˆซ์ž ๋ฐœ๊ธ‰๋ฐ›์•„ ๋กœ๋˜์ข…์ด์— ์ €์žฅ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐœ๊ธ‰๋ฐ›์€ ๋กœ๋˜์ข…์ด ๋ฌถ์Œ ์ €์žฅ
  • ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋‹น์ฒจ ๋ฒˆํ˜ธ 6๊ฐœ์™€ ๋ณด๋„ˆ์Šค ๋ฒˆํ˜ธ ์ž…๋ ฅ ๋ฐ›๊ธฐ
    • ์ž…๋ ฅํ•œ ๋ฒˆํ˜ธ๊ฐ€ ์ •์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ
    • ์ž…๋ ฅํ•œ ๋ฒˆํ˜ธ๊ฐ€ ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ
    • ์ž…๋ ฅํ•œ ๋ฒˆํ˜ธ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ
    • ์ž…๋ ฅํ•œ ์ˆซ์ž๊ฐ€ 6๊ฐœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ
    • ๋กœ๋˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ
  • WinningLotto ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ๋กœ๋˜ ๋ฒˆํ˜ธ ๋งค์นญ ์‹œํ‚ค๊ธฐ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒŒ์–ด๋“ค์ธ ๋ˆ์„ ์ €์žฅ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒŒ์–ด๋“ค์ธ ๋ˆ๊ณผ ํˆฌ์žํ•œ ๋ˆ ๋น„๊ต ํ›„ ์ˆ˜์ต๋ฅ  ๋ฐ˜ํ™˜ (์†Œ์ˆ˜์  3์ž๋ฆฌ ๊นŒ์ง€)

ํ”„๋กœ๊ทธ๋žจ ์š”๊ตฌ์‚ฌํ•ญ

  • ์ž๋ฐ” ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•œ๋‹ค.
  • else ์˜ˆ์•ฝ์–ด๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
  • public/protected/private/package ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์šฉ๋„์— ์ ํ•ฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„ํ•œ๋‹ค.
  • ํ•จ์ˆ˜์˜ ๊ธธ์ด๊ฐ€ 10๋ผ์ธ์„ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค.
  • indent depth๋ฅผ 2๊ฐ€ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค. 1๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.
  • ํ•จ์ˆ˜์˜ ์ธ์ž ์ˆ˜๋ฅผ 3๊ฐœ๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.
  • ์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ
import java.util.List;

/**
 * ๋กœ๋˜ ํ•œ์žฅ์„ ์˜๋ฏธํ•˜๋Š” ๊ฐ์ฒด
 */
public class Lotto {
    private final List<Integer> lottoNumbers;

    public Lotto(List<Integer> lottoNumbers) {
        this.lottoNumbers = lottoNumbers;
    }

    // ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
}
  • ๋‹ค์Œ Lotto ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
  • Lotto ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค.
  • lottoNumbers ๋ณ€์ˆ˜์˜ ์ ‘๊ทผ ์ œ์–ด์ž์ธ private์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
  • Lotto์— ํ•„๋“œ(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค.
/**
 * ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฐ์ฒด
 */
public class WinningLotto {
    private final Lotto lotto;
    private final int bonusNo;

    public WinningLotto(Lotto lotto, int bonusNo) {
        this.lotto = lotto;
        this.bonusNo = bonusNo;
    }

    public Rank match(Lotto userLotto) {
        // TODO ๋กœ์ง ๊ตฌํ˜„
        return null;
    }
}
  • ๋‹ค์Œ WinningLotto ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
  • match() ๋ฉ”์†Œ๋“œ์˜ ๋ฐ˜ํ™˜ ๊ฐ’์ธ Rank๋Š” ์ €์žฅ์†Œ์—์„œ ์ œ๊ณตํ•œ๋‹ค.
  • WinningLotto ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค.
  • lotto, bonusNo ๋ณ€์ˆ˜์˜ ์ ‘๊ทผ ์ œ์–ด์ž์ธ private์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
  • WinningLotto์— ํ•„๋“œ(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค.