Search

배열7_개념06_숫자야구

대분류
STEP05 배열
소분류
배열7_개념

영상

문제

package 배열7_개념; /* [문제] 1. me에 1~9 사이의 숫자 3개를 저장한다. 단, 중복되는 숫자는 저장할 수 없다. 2. com과 me를 비교해 정답을 맞출 때까지 반복한다. 3. 숫자와 자리가 같으면 strike += 1 숫자만 같고 자리가 틀리면 ball += 1 [예시] 정답 : 1 7 3 입력 : 3 1 5 >>> 2b 입력 : 1 5 6 >>> 1s */ public class 배열7_개념06_숫자야구_문제 { public static void main(String[] args) { int[] com = {1, 7, 3}; int[] me = new int[3]; } }
Java
복사

해설

package 배열7_개념; import java.util.Arrays; import java.util.Scanner; /* [문제] 1. me에 1~9 사이의 숫자 3개를 저장한다. 단, 중복되는 숫자는 저장할 수 없다. 2. com과 me를 비교해 정답을 맞출 때까지 반복한다. 3. 숫자와 자리가 같으면 strike += 1 숫자만 같고 자리가 틀리면 ball += 1 [예시] 정답 : 1 7 3 입력 : 3 1 5 >>> 2b 입력 : 1 5 6 >>> 1s */ public class 배열7_개념06_숫자야구_정답 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] com = {1, 7, 3}; int[] me = new int[3]; while(true) { for(int i=0; i<me.length; i++) { System.out.print("입력 : "); int num = scan.nextInt(); boolean check = false; for(int j=0; j<i; j++) { if(num == me[j]) { check = true; break; } } if(check == false) { me[i] = num; } else { System.out.println("중복되는 숫자입니다."); i -= 1; } } System.out.println("com = " + Arrays.toString(com)); System.out.println("me = " + Arrays.toString(me)); int strike = 0; int ball = 0; for(int i=0; i<com.length; i++) { for(int j=0; j<me.length; j++) { if(com[i] == me[j]) { if(i == j) { strike += 1; } else { ball += 1; } } } } System.out.println(ball + "b " + strike + "s"); if(strike == 3) { break; } } scan.close(); } }
Java
복사