From ab9e131104172af0ab82579c92e1ff624e3d7348 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 18:40:48 +0900 Subject: [PATCH 01/15] =?UTF-8?q?=EC=9E=85=EB=A0=A5,=EA=B5=AC=EB=B6=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 16 +++++++++++++++ src/main/java/racingcar/Application.java | 21 ++++++++++++++++++-- src/test/java/racingcar/ApplicationTest.java | 12 +++++------ 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/docs/README.md b/docs/README.md index e69de29b..1691c0da 100644 --- a/docs/README.md +++ b/docs/README.md @@ -0,0 +1,16 @@ +"경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"이라는 문장을 출력한 후 이름을 입력받는다. + +(입력받은대로 자동차를 출력할 때 자동차 이름을 같이 출력한다.) +입력받은 자동차의 이름 수 만큼 List를 만들어 이름과 점수를 저장할 공간을 만든다. +이름:carNames 점수:score + +"시도할 회수는 몇회인가요?"라는 문장을 출력한 후 숫자를 입력받는다. +주어진 횟수 동안 n대의 자동차는 +0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우 전진, 이외는 정지한다. + +자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 모든 점수를 비교해 최고점을 찾아 낸 후 +최고점과 같은 점수를 가지고 있는 자동차를 우승자로 처리한다. 이때 우승한 자동차의 이름을 winner에 추가한다. +우승자는 한 명 이상일 수 있으며 우승자가 여러 명일 경우 쉼표를 이용하여 구분한다. + +사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료된다. +(자동차 이름이 5글자를 넘어갈 경우) \ No newline at end of file diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index a17a52e7..76e2c49e 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -1,7 +1,24 @@ package racingcar; +import camp.nextstep.edu.missionutils.Randoms; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +import static camp.nextstep.edu.missionutils.Console.readLine; +import static org.assertj.core.api.Assertions.assertThat; + + public class Application { public static void main(String[] args) { - // TODO: 프로그램 구현 + + System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); + String userInput = readLine().trim(); + List carNames = new ArrayList<>(); + + for (String name : userInput.split(",")) { + carNames.add(name.trim()); + } } -} +} \ No newline at end of file diff --git a/src/test/java/racingcar/ApplicationTest.java b/src/test/java/racingcar/ApplicationTest.java index 764ba4c6..a4f0b1b8 100644 --- a/src/test/java/racingcar/ApplicationTest.java +++ b/src/test/java/racingcar/ApplicationTest.java @@ -15,11 +15,11 @@ class ApplicationTest extends NsTest { @Test void 전진_정지() { assertRandomNumberInRangeTest( - () -> { - run("pobi,woni", "1"); - assertThat(output()).contains("pobi : -", "woni : ", "최종 우승자 : pobi"); - }, - MOVING_FORWARD, STOP + () -> { + run("pobi,woni", "1"); + assertThat(output()).contains("pobi : -", "woni : ", "최종 우승자 : pobi"); + }, + MOVING_FORWARD, STOP ); } @@ -35,4 +35,4 @@ class ApplicationTest extends NsTest { public void runMain() { Application.main(new String[]{}); } -} +} \ No newline at end of file From d4513077f157722ebc933f3fd008c3d478665be4 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 18:45:08 +0900 Subject: [PATCH 02/15] =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EC=9E=85=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 8 +++++--- src/main/java/racingcar/Application.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/README.md b/docs/README.md index 1691c0da..7aab5d20 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,14 @@ "경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"이라는 문장을 출력한 후 이름을 입력받는다. - (입력받은대로 자동차를 출력할 때 자동차 이름을 같이 출력한다.) 입력받은 자동차의 이름 수 만큼 List를 만들어 이름과 점수를 저장할 공간을 만든다. 이름:carNames 점수:score +사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료된다. +(자동차 이름이 5글자를 넘어갈 경우) + "시도할 회수는 몇회인가요?"라는 문장을 출력한 후 숫자를 입력받는다. +변수에 입력받은 값을 저장해 경주 준비를 마친다. + 주어진 횟수 동안 n대의 자동차는 0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우 전진, 이외는 정지한다. @@ -12,5 +16,3 @@ 최고점과 같은 점수를 가지고 있는 자동차를 우승자로 처리한다. 이때 우승한 자동차의 이름을 winner에 추가한다. 우승자는 한 명 이상일 수 있으며 우승자가 여러 명일 경우 쉼표를 이용하여 구분한다. -사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료된다. -(자동차 이름이 5글자를 넘어갈 경우) \ No newline at end of file diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 76e2c49e..234cea8f 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -20,5 +20,6 @@ public static void main(String[] args) { for (String name : userInput.split(",")) { carNames.add(name.trim()); } + } } \ No newline at end of file From 248bdc11900de969ec7fde88874e0bb9918cab65 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 18:46:14 +0900 Subject: [PATCH 03/15] =?UTF-8?q?=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 234cea8f..07d37782 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -21,5 +21,15 @@ public static void main(String[] args) { carNames.add(name.trim()); } + //예외처리--------------------------------------------------- + try { + for (String Name : carNames) { + if (Name.length() > 5) { + throw new IllegalArgumentException(); + } + } + } catch (IllegalArgumentException e) { + return; + } } } \ No newline at end of file From 8780b02d8b45d0d64d4dee56015a0f9f87d19f91 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 18:46:41 +0900 Subject: [PATCH 04/15] =?UTF-8?q?=ED=9A=9F=EC=88=98=20=EC=9E=85=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 07d37782..b2460c12 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -31,5 +31,10 @@ public static void main(String[] args) { } catch (IllegalArgumentException e) { return; } + + System.out.println("시도할 회수는 몇회인가요?"); + String count1 = readLine(); + int count = Integer.parseInt(count1); + } } \ No newline at end of file From 8e3406e8ba6970bdbbc910737c7b426a53f5194e Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 18:47:22 +0900 Subject: [PATCH 05/15] =?UTF-8?q?=EA=B2=BD=EC=A3=BC=EC=A4=80=EB=B9=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index b2460c12..6ca80737 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -35,6 +35,15 @@ public static void main(String[] args) { System.out.println("시도할 회수는 몇회인가요?"); String count1 = readLine(); int count = Integer.parseInt(count1); + System.out.println("실행 결과"); + + //경주준비------------------------------------------------- + List score = new ArrayList<>(); + String line; + + for (String Name1 : carNames) { + score.add(0); + } } } \ No newline at end of file From 4858a8ce01e70ac25177a6edb8967712dc8ee5e9 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:34:35 +0900 Subject: [PATCH 06/15] =?UTF-8?q?=EA=B2=BD=EC=A3=BC=EC=8B=9C=EC=9E=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 6ca80737..8674f55a 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -11,6 +11,7 @@ public class Application { + public static void main(String[] args) { System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); @@ -36,7 +37,7 @@ public static void main(String[] args) { String count1 = readLine(); int count = Integer.parseInt(count1); System.out.println("실행 결과"); - + //경주준비------------------------------------------------- List score = new ArrayList<>(); String line; @@ -45,5 +46,24 @@ public static void main(String[] args) { score.add(0); } + //경주시작------------------------------------------------- + int ssc = 0; + for (int i = 0; i < count * carNames.size(); i++) { + + if (ssc == carNames.size()) { + ssc = 0; + } + + //랜덤계산------------------------------------------------- + int randomInt = Randoms.pickNumberInRange(0, 9); + if (randomInt > 3) { + score.set(ssc, score.get(ssc) + 1); + } + ssc = ssc + 1; + } + } -} \ No newline at end of file + + +} + From b9a488a2789d92761414b62cdba5943d5558c9ab Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:36:15 +0900 Subject: [PATCH 07/15] =?UTF-8?q?=EB=93=B1=EC=88=98=EC=B6=9C=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 28 +++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 8674f55a..2666fcf3 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -61,9 +61,35 @@ public static void main(String[] args) { } ssc = ssc + 1; } + //1등 찾기-------------------------------------------------------------- + int rank1 = 1; + int rank2 = 0; + for (int k = 0; score.size() - 1 > k; k++) { + rank2 = Math.max(score.get(k), score.get(k + 1)); + if (rank2>rank1){ + rank1=rank2; + } + } - } + if (carNames.size()==1){ + rank1=score.get(0); + } + //출력------------------------------------------------- + for (int k = 0; score.size() > k; k++) { + line = "-".repeat(score.get(k)); + System.out.println(carNames.get(k) + " : " + line); + } + System.out.println(""); + // 1등 출력--------------------------------------------------- + List winner = new ArrayList<>(); + for (int k = 0; score.size()> k; k++) { + if (rank1== score.get(k)){ + winner.add(carNames.get(k)); + } + } + System.out.print("최종 우승자 : " + String.join(" ,", winner)); + } } From 8f08094280efa0184f5e17d13ac42bbf11cfbac3 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:51:44 +0900 Subject: [PATCH 08/15] =?UTF-8?q?=EC=9E=90=EB=8F=99=EC=B0=A8=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=EC=9D=84=20=EC=9E=85=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 22 +++---- src/main/java/racingcar/Application.java | 75 +----------------------- 2 files changed, 10 insertions(+), 87 deletions(-) diff --git a/docs/README.md b/docs/README.md index 7aab5d20..002ac79b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,18 +1,14 @@ -"경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"이라는 문장을 출력한 후 이름을 입력받는다. -(입력받은대로 자동차를 출력할 때 자동차 이름을 같이 출력한다.) -입력받은 자동차의 이름 수 만큼 List를 만들어 이름과 점수를 저장할 공간을 만든다. -이름:carNames 점수:score +자동차 이름을 입력 -사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료된다. -(자동차 이름이 5글자를 넘어갈 경우) +입력받은 문장 쪼개기 -"시도할 회수는 몇회인가요?"라는 문장을 출력한 후 숫자를 입력받는다. -변수에 입력받은 값을 저장해 경주 준비를 마친다. +예외처리 -주어진 횟수 동안 n대의 자동차는 -0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우 전진, 이외는 정지한다. +게임 횟수 입력 -자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 모든 점수를 비교해 최고점을 찾아 낸 후 -최고점과 같은 점수를 가지고 있는 자동차를 우승자로 처리한다. 이때 우승한 자동차의 이름을 winner에 추가한다. -우승자는 한 명 이상일 수 있으며 우승자가 여러 명일 경우 쉼표를 이용하여 구분한다. +게임 진행 출력 및 랜덤 계산 + +우승자 찾기 + +우승자 출력 diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 2666fcf3..23a3dd94 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -13,83 +13,10 @@ public class Application { public static void main(String[] args) { - System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); String userInput = readLine().trim(); List carNames = new ArrayList<>(); - - for (String name : userInput.split(",")) { - carNames.add(name.trim()); - } - - //예외처리--------------------------------------------------- - try { - for (String Name : carNames) { - if (Name.length() > 5) { - throw new IllegalArgumentException(); - } - } - } catch (IllegalArgumentException e) { - return; - } - - System.out.println("시도할 회수는 몇회인가요?"); - String count1 = readLine(); - int count = Integer.parseInt(count1); - System.out.println("실행 결과"); - - //경주준비------------------------------------------------- - List score = new ArrayList<>(); - String line; - - for (String Name1 : carNames) { - score.add(0); - } - - //경주시작------------------------------------------------- - int ssc = 0; - for (int i = 0; i < count * carNames.size(); i++) { - - if (ssc == carNames.size()) { - ssc = 0; - } - - //랜덤계산------------------------------------------------- - int randomInt = Randoms.pickNumberInRange(0, 9); - if (randomInt > 3) { - score.set(ssc, score.get(ssc) + 1); - } - ssc = ssc + 1; - } - //1등 찾기-------------------------------------------------------------- - int rank1 = 1; - int rank2 = 0; - for (int k = 0; score.size() - 1 > k; k++) { - rank2 = Math.max(score.get(k), score.get(k + 1)); - if (rank2>rank1){ - rank1=rank2; - } - } - - if (carNames.size()==1){ - rank1=score.get(0); - } - - //출력------------------------------------------------- - for (int k = 0; score.size() > k; k++) { - line = "-".repeat(score.get(k)); - System.out.println(carNames.get(k) + " : " + line); - } - System.out.println(""); - - // 1등 출력--------------------------------------------------- - List winner = new ArrayList<>(); - for (int k = 0; score.size()> k; k++) { - if (rank1== score.get(k)){ - winner.add(carNames.get(k)); - } - } - System.out.print("최종 우승자 : " + String.join(" ,", winner)); + } } From 0d7140f094b3695f194ec34be36a5b245b73e7a8 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:52:10 +0900 Subject: [PATCH 09/15] =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EC=9D=80=20?= =?UTF-8?q?=EB=AC=B8=EC=9E=A5=20=EC=AA=BC=EA=B0=9C=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 23a3dd94..04fd64bd 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -16,7 +16,11 @@ public static void main(String[] args) { System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); String userInput = readLine().trim(); List carNames = new ArrayList<>(); - + + for (String name : userInput.split(",")) { + carNames.add(name.trim()); + } + } } From b6fa2a20b3bd3618936233f43c3b4e878cad95a1 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:52:52 +0900 Subject: [PATCH 10/15] =?UTF-8?q?=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 1 + src/main/java/racingcar/Application.java | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/docs/README.md b/docs/README.md index 002ac79b..fa72d5e2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,3 +12,4 @@ 우승자 출력 +Test추가 \ No newline at end of file diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 04fd64bd..4ee3287f 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -21,6 +21,17 @@ public static void main(String[] args) { carNames.add(name.trim()); } + //예외처리--------------------------------------------------- + try { + for (String Name : carNames) { + if (Name.length() > 5) { + throw new IllegalArgumentException(); + } + } + } catch (IllegalArgumentException e) { + return; + } + } } From fa670d5e94ed0ba885609ff96814b1be934e3cd3 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:53:25 +0900 Subject: [PATCH 11/15] =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=ED=9A=9F=EC=88=98?= =?UTF-8?q?=20=EC=9E=85=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 4ee3287f..dbf04aea 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -32,6 +32,10 @@ public static void main(String[] args) { return; } + System.out.println("시도할 회수는 몇회인가요?"); + String count1 = readLine(); + int count = Integer.parseInt(count1); + } } From 0573123a3afd45be89a6b7a602e698696860516d Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:54:18 +0900 Subject: [PATCH 12/15] =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=EC=A7=84=ED=96=89?= =?UTF-8?q?=20=EC=B6=9C=EB=A0=A5=20=EB=B0=8F=20=EB=9E=9C=EB=8D=A4=20?= =?UTF-8?q?=EA=B3=84=EC=82=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index dbf04aea..702d6de6 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -36,6 +36,32 @@ public static void main(String[] args) { String count1 = readLine(); int count = Integer.parseInt(count1); + System.out.println("실행 결과"); + + //경주준비------------------------------------------------- + List score = new ArrayList<>(); + String line; + + for (String Name1 : carNames) { + score.add(0); + } + + //경주시작------------------------------------------------- + int ssc = 0; + for (int i = 0; i < count * carNames.size(); i++) { + + if (ssc == carNames.size()) { + ssc = 0; + } + + //랜덤계산------------------------------------------------- + int randomInt = Randoms.pickNumberInRange(0, 9); + if (randomInt > 3) { + score.set(ssc, score.get(ssc) + 1); + } + ssc = ssc + 1; + } + } } From a68f7a134c40a9891a08d018c1d3a63572f49639 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:54:47 +0900 Subject: [PATCH 13/15] =?UTF-8?q?=EC=9A=B0=EC=8A=B9=EC=9E=90=20=EC=B0=BE?= =?UTF-8?q?=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 702d6de6..142a8f33 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -61,6 +61,21 @@ public static void main(String[] args) { } ssc = ssc + 1; } + + //1등 찾기-------------------------------------------------------------- + int rank1 = 1; + int rank2 = 0; + for (int k = 0; score.size() - 1 > k; k++) { + rank2 = Math.max(score.get(k), score.get(k + 1)); + if (rank2>rank1){ + rank1=rank2; + } + } + + if (carNames.size()==1){ + rank1=score.get(0); + } + } } From 9e94d5e7373c87d02330b075620e301c68489154 Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:55:30 +0900 Subject: [PATCH 14/15] =?UTF-8?q?=EC=9A=B0=EC=8A=B9=EC=9E=90=20=EC=B6=9C?= =?UTF-8?q?=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/racingcar/Application.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index 142a8f33..b208c9d1 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -61,7 +61,7 @@ public static void main(String[] args) { } ssc = ssc + 1; } - + //1등 찾기-------------------------------------------------------------- int rank1 = 1; int rank2 = 0; @@ -76,6 +76,21 @@ public static void main(String[] args) { rank1=score.get(0); } + //출력------------------------------------------------- + for (int k = 0; score.size() > k; k++) { + line = "-".repeat(score.get(k)); + System.out.println(carNames.get(k) + " : " + line); + } + System.out.println(""); + + // 1등 출력--------------------------------------------------- + List winner = new ArrayList<>(); + for (int k = 0; score.size()> k; k++) { + if (rank1== score.get(k)){ + winner.add(carNames.get(k)); + } + } + System.out.print("최종 우승자 : " + String.join(" ,", winner)); } } From de5b082236d94880235d0f764ace4fefef65abff Mon Sep 17 00:00:00 2001 From: jaechu12 Date: Mon, 24 Mar 2025 19:57:18 +0900 Subject: [PATCH 15/15] =?UTF-8?q?test=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/Application.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index b208c9d1..025eace2 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -12,6 +12,15 @@ public class Application { + @Test + void test() { + String input = "1,2,3,45"; + String[] result = input.split(","); + + assertThat(result).contains("45","3","2", "1"); + assertThat(result).containsExactly("1","2","3", "45"); + } + public static void main(String[] args) { System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); String userInput = readLine().trim();