From 9ad51a79a6714a1cc162d4122c2b4dd814e01455 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 16:43:04 +0900 Subject: [PATCH 01/19] =?UTF-8?q?Car=20=EA=B0=9D=EC=B2=B4=20=EA=B8=B0?= =?UTF-8?q?=EB=B3=B8=20=EA=B5=AC=EC=84=B1=20=EA=B5=AC=EC=83=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Car.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/racingcar/Car.java diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java new file mode 100644 index 00000000..4aa18839 --- /dev/null +++ b/src/main/java/racingcar/Car.java @@ -0,0 +1,15 @@ +package racingcar; + + +public class Car { + private final String name; + private int position; + + public Car(String name) {} + + public void move() {} + + public String getName() {} + + public int getPosition(int position) {} +} \ No newline at end of file From 69fafb5232c2d346df5565d797162ef110df929f Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 16:45:20 +0900 Subject: [PATCH 02/19] =?UTF-8?q?Car=20=EA=B0=9D=EC=B2=B4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=EC=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Car.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java index 4aa18839..61dd545f 100644 --- a/src/main/java/racingcar/Car.java +++ b/src/main/java/racingcar/Car.java @@ -5,9 +5,17 @@ public class Car { private final String name; private int position; - public Car(String name) {} + public Car(String name) + { + verificationName(name); + this.name = name; + this.position = 0; + } - public void move() {} + public void move() + { + + } public String getName() {} From 72b23956897dbbbc5b27afba0c4cedab0ab33f99 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 16:46:22 +0900 Subject: [PATCH 03/19] =?UTF-8?q?Car=20=ED=81=B4=EB=9E=98=EC=8A=A4=20move?= =?UTF-8?q?=20=EB=A9=94=EC=86=8C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Car.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java index 61dd545f..bab7bad2 100644 --- a/src/main/java/racingcar/Car.java +++ b/src/main/java/racingcar/Car.java @@ -14,7 +14,7 @@ public Car(String name) public void move() { - + this.position++; } public String getName() {} From e657c6cc65e5d98472b5d6ace18eaf4363aec1dc Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 16:48:54 +0900 Subject: [PATCH 04/19] =?UTF-8?q?Car=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Car.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java index bab7bad2..b33c30ef 100644 --- a/src/main/java/racingcar/Car.java +++ b/src/main/java/racingcar/Car.java @@ -17,7 +17,7 @@ public void move() this.position++; } - public String getName() {} + public String getName() {return name;} - public int getPosition(int position) {} + public int getPosition(int position) {return position;} } \ No newline at end of file From 9cf6c20440a29fecb07c1cd461a299a448f12f49 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 16:57:56 +0900 Subject: [PATCH 05/19] =?UTF-8?q?Racing=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=EA=B5=AC=EC=A1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main/java/racingcar/Racing.java diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java new file mode 100644 index 00000000..071ac8a8 --- /dev/null +++ b/src/main/java/racingcar/Racing.java @@ -0,0 +1,27 @@ +package racingcar; + + +public class Racing +{ + private final List cars = new ArrayList<>(); + private int rounds; + + public void start() + { + + } + + private void inputCars() + { + + } + + private void verificationRound() + { + + } + + private void raceRound() + { + } +} \ No newline at end of file From 9720c8582bba3f59c6f6a7be17b59b9c1e84e63b Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 17:35:40 +0900 Subject: [PATCH 06/19] =?UTF-8?q?Car=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EC=B0=A8=20=EC=9D=B4=EB=A6=84=20=EC=98=88=EC=99=B8=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Car.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java index b33c30ef..4efecb44 100644 --- a/src/main/java/racingcar/Car.java +++ b/src/main/java/racingcar/Car.java @@ -12,6 +12,14 @@ public Car(String name) this.position = 0; } + public void verificationName(String name) + { + if (name.length() > 5) + { + throw new IllegalArgumentException("차 이름은 5자 이하만 가능합니다."); + } + } + public void move() { this.position++; From b593fc240e205e3b8479298ac696e1f2b3783d09 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 17:36:22 +0900 Subject: [PATCH 07/19] =?UTF-8?q?Racing=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=EB=9E=98=EC=9D=B4=EC=8A=A4=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 36 +++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index 071ac8a8..d64cd8ed 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -1,5 +1,9 @@ package racingcar; +import camp.nextstep.edu.missionutils.Console; +import java.util.List; +import java.util.ArrayList; + public class Racing { @@ -8,20 +12,48 @@ public class Racing public void start() { - + inputCars(); + inputRounds(); + play(); } private void inputCars() { + String[] names = Console.readLine().split(","); + for (String name : names) + { + cars.add(new Car(name.trim())); + } + } + private void inputRounds() + { + System.out.println("시도할 횟수는 몇회인가요?"); + rounds = Integer.parseInt(Console.readLine().trim()); + verificationRound(rounds); } - private void verificationRound() + private void verificationRound(int value) { + if (value <= 0) + { + throw new IllegalArgumentException("시도 횟수는 1 이상이어야 합니다."); + } + } + private void play() + { + for (int i = 0; i < rounds; i++) + { + raceRound(); + } } private void raceRound() { + for (Car car : cars) + { + car.move(); + } } } \ No newline at end of file From 4454dae74fd0b111167f3a4aeb855202c18a6a54 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 17:43:48 +0900 Subject: [PATCH 08/19] =?UTF-8?q?=EB=9E=98=EC=9D=B4=EC=8B=B1=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EC=B6=9C=EB=A0=A5=20=ED=95=A8=EC=88=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index d64cd8ed..7c62d739 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -46,6 +46,7 @@ private void play() for (int i = 0; i < rounds; i++) { raceRound(); + printRaceStatus(); } } @@ -56,4 +57,13 @@ private void raceRound() car.move(); } } + + private void printRaceStatus() + { + for (Car car : cars) + { + System.out.println(car.getName() + " : " + "-".repeat(car.getPosition())); + } + System.out.println(); + } } \ No newline at end of file From 1b64d787450ef908790c1605dffd869ec562eae3 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 17:52:54 +0900 Subject: [PATCH 09/19] =?UTF-8?q?Car=20=ED=81=B4=EB=9E=98=EC=8A=A4=20move?= =?UTF-8?q?=20=ED=95=A8=EC=88=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Car.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java index 4efecb44..db9a0a00 100644 --- a/src/main/java/racingcar/Car.java +++ b/src/main/java/racingcar/Car.java @@ -1,6 +1,8 @@ package racingcar; +import camp.nextstep.edu.missionutils.Randoms; + public class Car { private final String name; private int position; @@ -22,10 +24,13 @@ public void verificationName(String name) public void move() { - this.position++; + if (Randoms.pickNumberInRange(0, 9) >= 4) + { + this.position++; + } } public String getName() {return name;} - public int getPosition(int position) {return position;} + public int getPosition() {return position;} } \ No newline at end of file From 87a90de4e6162edb52ad0a2d5f31efebd654b90b Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 17:53:55 +0900 Subject: [PATCH 10/19] =?UTF-8?q?Racing=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EC=9A=B0=EC=8A=B9=EC=9E=90=20=EC=B0=BE=EB=8A=94=20=ED=95=A8?= =?UTF-8?q?=EC=88=98,=20maxPosition=20=EC=B0=BE=EB=8A=94=20=ED=95=A8?= =?UTF-8?q?=EC=88=98,=20=EC=83=81=ED=83=9C=20=EC=B6=9C=EB=A0=A5=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index 7c62d739..24ab7013 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -15,6 +15,7 @@ public void start() inputCars(); inputRounds(); play(); + printWinner(); } private void inputCars() @@ -66,4 +67,37 @@ private void printRaceStatus() } System.out.println(); } + + private void printWinner() + { + int maxPosition = findMaxPosition(); + List winners = getWinners(maxPosition); + System.out.println("최종 우승자" + String.join(", ", winners)); + } + + private List getWinners(int maxPosition) + { + List winners = new ArrayList<>(); + for (Car car : cars) + { + if (car.getPosition() == maxPosition) + { + winners.add(car.getName()); + } + } + return winners; + } + + private int findMaxPosition() + { + int max = 0; + for (Car car : cars) + { + if (car.getPosition() > max) + { + max = car.getPosition(); + } + } + return max; + } } \ No newline at end of file From 247f236d576ead2679446d99791f48e4df400b1c Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 19:00:48 +0900 Subject: [PATCH 11/19] =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 2 +- src/main/java/racingcar/Racing.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index a17a52e7..92f91db6 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -2,6 +2,6 @@ public class Application { public static void main(String[] args) { - // TODO: 프로그램 구현 + new Racing().start(); } } diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index 24ab7013..c42174cf 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -38,7 +38,7 @@ private void verificationRound(int value) { if (value <= 0) { - throw new IllegalArgumentException("시도 횟수는 1 이상이어야 합니다."); + throw new IllegalArgumentException("시도 회수는 1 이상이어야 합니다."); } } @@ -72,7 +72,7 @@ private void printWinner() { int maxPosition = findMaxPosition(); List winners = getWinners(maxPosition); - System.out.println("최종 우승자" + String.join(", ", winners)); + System.out.println("최종 우승자 : " + String.join(", ", winners)); } private List getWinners(int maxPosition) From cc622578cf7b9e84205553b0c89fb50be2301cf8 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 22 Sep 2025 19:04:10 +0900 Subject: [PATCH 12/19] =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index c42174cf..fe1889ef 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -20,6 +20,7 @@ public void start() private void inputCars() { + System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); String[] names = Console.readLine().split(","); for (String name : names) { From f8e8a8fde2cf87612cc903a92735fc9c99fc7f1d Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:05:10 +0900 Subject: [PATCH 13/19] =?UTF-8?q?refactor=20:=20=EC=9E=85=EB=A0=A5?= =?UTF-8?q?=EA=B3=BC=20=EC=B6=9C=EB=A0=A5=EC=9C=BC=EB=A1=9C=20=EB=82=98?= =?UTF-8?q?=EB=88=84=EA=B8=B0=20=EC=9C=84=ED=95=B4=20input=EA=B3=BC=20outp?= =?UTF-8?q?ut=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Input.java | 7 +++++++ src/main/java/racingcar/Output.java | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 src/main/java/racingcar/Input.java create mode 100644 src/main/java/racingcar/Output.java diff --git a/src/main/java/racingcar/Input.java b/src/main/java/racingcar/Input.java new file mode 100644 index 00000000..7547c1af --- /dev/null +++ b/src/main/java/racingcar/Input.java @@ -0,0 +1,7 @@ +package racingcar; + +import camp.nextstep.edu.missionutils.Console; + +public class Input { + +} diff --git a/src/main/java/racingcar/Output.java b/src/main/java/racingcar/Output.java new file mode 100644 index 00000000..cad92710 --- /dev/null +++ b/src/main/java/racingcar/Output.java @@ -0,0 +1,5 @@ +package racingcar; + +public class Output { + +} From 8a228b1c6ba1f37b0a92d23c9ef5df307c54bae2 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:10:48 +0900 Subject: [PATCH 14/19] =?UTF-8?q?fix=20:=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81=EC=97=90=20=EB=A7=9E=EC=B6=B0=20input=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EB=A9=94=EC=86=8C=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Input.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/racingcar/Input.java b/src/main/java/racingcar/Input.java index 7547c1af..ae39f5b2 100644 --- a/src/main/java/racingcar/Input.java +++ b/src/main/java/racingcar/Input.java @@ -4,4 +4,27 @@ public class Input { + public String[] readCarName() + { + System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); + return Console.readLine().split(","); + } + + public int readRound() + { + System.out.println("시도할 횟수는 몇회인가요?"); + String input = Console.readLine().trim(); + int rounds = Integer.parseInt(input); + verificationRound(rounds); + + return rounds; + } + + private void verificationRound(int value) + { + if (value <= 0) + { + throw new IllegalArgumentException("시도 회수는 1 이상이어야 합니다."); + } + } } From 4893def49e329c93eae63c7ab5a8c1121326771c Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:14:38 +0900 Subject: [PATCH 15/19] =?UTF-8?q?fix=20:=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81=EC=97=90=20=EB=A7=9E=EC=B6=B0=20output=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EB=A9=94=EC=86=8C=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Output.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/racingcar/Output.java b/src/main/java/racingcar/Output.java index cad92710..6ef9c19a 100644 --- a/src/main/java/racingcar/Output.java +++ b/src/main/java/racingcar/Output.java @@ -1,5 +1,19 @@ package racingcar; +import java.util.List; + public class Output { + private void printRaceStatus(List cars) + { + for (Car car : cars) + { + System.out.println(car.getName() + " : " + "-".repeat(car.getPosition())); + } + System.out.println(); + } + private void printWinner(List winners) + { + System.out.println("최종 우승자 : " + String.join(", ", winners)); + } } From c89ba25186053f9700962d20962c89ddc8432004 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:20:56 +0900 Subject: [PATCH 16/19] =?UTF-8?q?fix=20:=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81=EC=97=90=20=EB=A7=9E=EC=B6=B0=20Racing=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EB=A9=94=EC=86=8C=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 55 ++--------------------------- 1 file changed, 3 insertions(+), 52 deletions(-) diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index fe1889ef..0f37db96 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -8,50 +8,15 @@ public class Racing { private final List cars = new ArrayList<>(); - private int rounds; - public void start() + public Racing(String[] names) { - inputCars(); - inputRounds(); - play(); - printWinner(); - } - - private void inputCars() - { - System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); - String[] names = Console.readLine().split(","); for (String name : names) { cars.add(new Car(name.trim())); } } - private void inputRounds() - { - System.out.println("시도할 횟수는 몇회인가요?"); - rounds = Integer.parseInt(Console.readLine().trim()); - verificationRound(rounds); - } - - private void verificationRound(int value) - { - if (value <= 0) - { - throw new IllegalArgumentException("시도 회수는 1 이상이어야 합니다."); - } - } - - private void play() - { - for (int i = 0; i < rounds; i++) - { - raceRound(); - printRaceStatus(); - } - } - private void raceRound() { for (Car car : cars) @@ -60,24 +25,10 @@ private void raceRound() } } - private void printRaceStatus() - { - for (Car car : cars) - { - System.out.println(car.getName() + " : " + "-".repeat(car.getPosition())); - } - System.out.println(); - } - private void printWinner() + private List getWinners() { int maxPosition = findMaxPosition(); - List winners = getWinners(maxPosition); - System.out.println("최종 우승자 : " + String.join(", ", winners)); - } - - private List getWinners(int maxPosition) - { List winners = new ArrayList<>(); for (Car car : cars) { @@ -101,4 +52,4 @@ private int findMaxPosition() } return max; } -} \ No newline at end of file +} From 25a208eb956abedab60164fd778cd129b36fc4e7 Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:27:51 +0900 Subject: [PATCH 17/19] =?UTF-8?q?fix=20:=20=EC=A0=9C=EC=96=B4=20=EA=B6=8C?= =?UTF-8?q?=ED=95=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Output.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Output.java b/src/main/java/racingcar/Output.java index 6ef9c19a..b15b8af5 100644 --- a/src/main/java/racingcar/Output.java +++ b/src/main/java/racingcar/Output.java @@ -3,7 +3,7 @@ import java.util.List; public class Output { - private void printRaceStatus(List cars) + public void printRaceStatus(List cars) { for (Car car : cars) { @@ -12,7 +12,7 @@ private void printRaceStatus(List cars) System.out.println(); } - private void printWinner(List winners) + public void printWinner(List winners) { System.out.println("최종 우승자 : " + String.join(", ", winners)); } From 328a5079b19a25e7456a129704ac161ff5ba304d Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:28:12 +0900 Subject: [PATCH 18/19] =?UTF-8?q?fix=20:=20=EC=A0=9C=EC=96=B4=20=EA=B6=8C?= =?UTF-8?q?=ED=95=9C=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20getter=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Racing.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Racing.java b/src/main/java/racingcar/Racing.java index 0f37db96..05c28887 100644 --- a/src/main/java/racingcar/Racing.java +++ b/src/main/java/racingcar/Racing.java @@ -17,7 +17,7 @@ public Racing(String[] names) } } - private void raceRound() + public void raceRound() { for (Car car : cars) { @@ -26,7 +26,7 @@ private void raceRound() } - private List getWinners() + public List getWinners() { int maxPosition = findMaxPosition(); List winners = new ArrayList<>(); @@ -52,4 +52,9 @@ private int findMaxPosition() } return max; } + + public List getCars() + { + return cars; + } } From e2baf2eac49993fb91f7b29983a01a521cae91cf Mon Sep 17 00:00:00 2001 From: junyoung0321 Date: Mon, 29 Sep 2025 19:34:23 +0900 Subject: [PATCH 19/19] =?UTF-8?q?fix=20:=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81=EC=97=90=20=EB=94=B0=EB=A5=B8=20=EC=A0=9C=EC=96=B4=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=EA=B3=BC=20=EB=A9=94=EC=86=8C=EB=93=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 92f91db6..27b86cf5 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -2,6 +2,20 @@ public class Application { public static void main(String[] args) { - new Racing().start(); + Input input = new Input(); + Output output = new Output(); + + String[] carNames = input.readCarName(); + int rounds = input.readRound(); + + Racing racing = new Racing(carNames); + + for (int i = 0; i < rounds; i++) + { + racing.raceRound(); + output.printRaceStatus(racing.getCars()); + } + + output.printWinner(racing.getWinners()); } }