์ˆซ์ž ์•ผ๊ตฌ ๊ฒŒ์ž„

2023. 2. 9. 10:18ใ†java

//์ˆซ์ž ์•ผ๊ตฌ ๊ฒŒ์ž„(์œ„์น˜์™€ ์ˆซ์ž ๋™์ผ - ์ŠคํŠธ๋ผ์ดํฌ, ์ˆซ์ž๋งŒ ๋™์ผ - ๋ณผ)
//์‹œ๋„ํ•œ ํšŸ์ˆ˜ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•จ. n >> ์ž…๋ ฅํ•œ ์ˆซ์ž
//ํ›„์— n์ŠคํŠธ๋ผ์ดํฌn๋ณผ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•จ.
package test;

import java.util.Scanner;

public class Test5_1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //0~9๊นŒ์ง€์˜ ๋žœ๋คํ•œ ์ •์ˆ˜๊ฐ€ ์ €์žฅ๋  ๋ฐฐ์—ด ์ƒ์„ฑ
        int[] baseball = new int[3];
        //ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ ์ •์ˆ˜๊ฐ€ ์ €์žฅ๋  ๋ฐฐ์—ด ์ƒ์„ฑ
        int[] answer = new int[3];

        //basesball ๋ฐฐ์—ด์— ์ค‘๋ณต์—†์ด ๋žœ๋ค์ˆ˜ ์ €์žฅ
        for(int i = 0; i < baseball.length ; i++){
            //0~9์‚ฌ์ด์˜ ๋žœ๋ค์ˆ˜ ์ƒ์„ฑ ๋ฐ ์ €์žฅ
            int rand = (int)(Math.random() * 10);
            baseball[i] = rand;

            //โ˜…โ˜…์ค‘๋ณต ๊ฐ’ ์ œ๊ฑฐโ˜…โ˜…
            for(int j = 0; j < i ; j++){//i๊ฐ€ 0์ผ ๋•Œ๋Š” ์ค‘๋ณต ๊ฒ€์‚ฌX ๋น„๊ต ํ•„์š”X
                if(baseball[i] == baseball[j]){
                    i--;
                    break;
                }
            }
        }
        //๋งŒ๋“ค์–ด์ง„ ๋ฐฐ์—ด ์ถœ๋ ฅ
        System.out.print("๋งŒ๋“ค์–ด์ง„ ์ˆซ์ž : ");
        for(int e : baseball){
            System.out.print(e + " ");
        }
        System.out.println();
        //๊ฒŒ์ž„ ์‹œ์ž‘
        int tryCnt = 0;
        System.out.println("์ˆซ์ž๋ฅผ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.");
        while (true){
            System.out.print(++tryCnt + " >> ");

            //ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ ๋ฐ›๋Š” ์ˆซ์ž answer ๋ฐฐ์—ด์— ์ €์žฅ
            for(int i = 0; i < answer.length; i++){
                answer[i] = sc.nextInt();
            }

            //strike, ball ๊ณ„์‚ฐ
            int strike = 0, ball = 0;
            //๊ฐ™์€ ์ธ๋ฑ์Šค์— ๋“ค์–ด๊ฐ„ ๋™์ผ ๋ฐ์ดํ„ฐ = strike
            //๋‹ค๋ฅธ ์ธ๋ฑ์Šค์— ๋“ค์–ด๊ฐ„ ๋™์ผ ๋ฐ์ดํ„ฐ = ball
            for(int i = 0; i < baseball.length ; i++){//baseball ๋ฐฐ์—ด ํฌ๊ธฐ ๋งŒํผ ๋Œ๋ฉด์„œ
                for(int j = 0; j < answer.length; j++){//answer ๋ฐฐ์—ด ํฌ๊ธฐ ๋งŒํผ ๋˜ ๋Œ์•„์•ผ ํ•จ.
                    if(baseball[i] == answer[j] && i == j){ //์œ„์น˜๊นŒ์ง€ ๊ฐ™์Œ
                        strike++;
                    }
                    else if(baseball[i] == answer[j] && i != j){ //์œ„์น˜ ๋‹ค๋ฆ„
                        ball++;
                    }
                }
            }
            //๊ฒฐ๊ณผ ์ถœ๋ ฅ
            System.out.println(strike + "์ŠคํŠธ๋ผ์ดํฌ" + ball + "๋ณผ");

            if(strike == 3){
                break;  //while๋ฌธ ๋ฒ—์–ด๋‚จ
            }
            else {
                strike = 0;
                ball = 0;    //์ดˆ๊ธฐํ™” ์‹œ์ผœ์ค˜์•ผํ•จ. ์•„๋‹ˆ๋ฉด ๊ฒŒ์ž„ํ•  ๋•Œ ์นด์šดํŠธ๊ฐ€ ๋ˆ„์ ๋จ.
            }
        }
        System.out.println(tryCnt + "ํšŒ ๋งŒ์— ์ •๋‹ต์„ ๋งž์ท„์Šต๋‹ˆ๋‹ค.");
    }
}