문제풀이/백준

[백준 자바 Java] 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰

꼬ㄴi 2023. 8. 1. 23:28

문제🔒

https://www.acmicpc.net/problem/3003


풀이과정🔌

 

체스판을 구성하는 말 [ 킹, 퀸, 룩, 비숍, 나이트, 폰] 에 각각 할당된 갯수를 배열 chess로 만든다.

그리고 입력받은 흰색 피스의 갯수가 저장될, 같은 길이의 새로운 배열 input을 하나 더 만들어준다. 

int[] chess= {1,1,2,2,2,8};

int[] input = new int[6];

 

반복문으로 각각 말의 갯수를 입력받아 input 배열 인덱스에 차례대로 저장한다.

for(int i=0;i<chess.length;i++) {
	input[i] = sc.nextInt();
}

 

똑같이 반복문을 통해 기존 구성 갯수에서 더하거나 빼야할 수를 구해준다. 이는 기존 말의 갯수에서 입력받은 갯수를 빼주면 된다.

int[] newChess = new int[6];
		
for (int i=0;i<newChess.length;i++) {
	newChess[i] = chess[i] - input[i];
}

해답🔓

import java.util.Arrays;
import java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int[] chess= {1,1,2,2,2,8};
		
		int[] input = new int[6];
		
		for(int i=0;i<chess.length;i++) {
			input[i] = sc.nextInt();
		}
		
		int[] newChess = new int[6];
		
		for (int i=0;i<newChess.length;i++) {
			newChess[i] = chess[i] - input[i];
		}
		
		System.out.println(Arrays.toString(newChess));
	}
}