Iriton's log

[Baekjoon/Java] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 본문

Problem Solving/Java

[Baekjoon/Java] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰

Iriton 2023. 4. 12. 21:32

문제


동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다.

체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다.

체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.

동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.

 

 

입력


첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.

 

 

출력


첫째 줄에 입력에서 주어진 순서대로 몇 개의 피스를 더하거나 빼야 되는지를 출력한다. 만약 수가 양수라면 동혁이는 그 개수 만큼 피스를 더해야 하는 것이고, 음수라면 제거해야 하는 것이다.

 

 

풀이


import java.util.Scanner;

 public class Main {

     public static void main(String[] args){

         Scanner scanner = new Scanner(System.in);
         int[] cnt = new int[6];
		 for (int i = 0; i < 6; i++) {
			cnt[i] = scanner.nextInt();
		}

         int[] full = new int[]{1, 1, 2, 2, 2, 8};

         for (int i = 0; i < full.length; i++) {
             cnt[i] = full[i] - cnt[i];
             System.out.print(cnt[i]+" ");
         }
     }
 }

코드블럭 라인넘버 추가해야겠네....

 

Scanner scanner = new Scanner(System.in);

정의한 것만 봐도 Class 라는 걸 알 수 있다.

scanner 라는 이름의 Scanner Class를 선언한다.

System.in으로 입력받은 값을 저장한다.

 

scanner.nextInt();

입력받는 값의 타입이 int형이다.

(String으로 입력받고 싶으면 next() or nextLine()을 사용하면 된다.)

Python에서는 직접 split()으로 입력받는 기준을 지정해 주는데

Java의 Scanner 입력 메소드들은 대부분 공백과 개행을 기준으로 읽는다.

 

 

'Problem Solving > Java' 카테고리의 다른 글

[Java/BOJ] 3184번: 양  (2) 2023.09.26
[Java/BOJ] 1753번: 최단경로  (0) 2023.09.20
[Baekjoon/Java] 2444번: 별 찍기 - 7  (0) 2023.04.12
Comments