본문 바로가기

Spring

[인프런 워밍업 클럽] BE 5번째 과제 - 클린 코드

728x90

 

 

🔑개선한 코드

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
    System.out.println("숫자를 입력하세요 : ");
    Scanner scanner = new Scanner(System.in);
    int playCnt = scanner.nextInt();

    int[] result = new int[playCnt+1];

    for (int i = 1; i <= playCnt ; i++) {
      int randomNum = randomPlay(playCnt);
      result[randomNum] += 1;
    }

    for (int i = 1; i < result.length ; i++) {
      System.out.printf("%d은 %d번 나왔습니다.\n", i, result[i]);
    }
  }

  private static int randomPlay(int cnt) {
    return (int)(Math.random()*cnt) +1;
  }
}

 

'한걸음 더'에 나와 있는 내용까지 반영해서 개선해본 코드다.

숫자를 입력받는 부분까지는 동일하게 했고, 각 숫자가 몇 번 나왔는지를 저장해주기 위한 배열을 하나 이용했다.

아예 입력 받은 숫자보다 한 크기 크게 길이를 선언해서 index = 0인 부분은 제외하고 1부터 횟수를 저장시키는 방법을 선택했다.

728x90