본문 바로가기
Baekjoon 자바 코드/심화1

[백준] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 코드 (Java 자바)

by 망댕이 2024. 10. 15.
반응형

 

예제 입력과 비교하여 부족하거나 많은 체스 피스 개수를 계산하는 문제이다.

접근 방법)

간단하게 Scanner와 System.out.print()에 대해 잘 알고 있다면 이번 심화문제는 손 쉽게 풀 수 있다.

그리고 BufferedReader와 StringTokenizer를 이용하여 풀 수도 있다.

 

▷ 정수 Scanner 및 출력

Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

System.out.print(2-num+" ");

 

▷ 정수 BufferedReader 및 StringTokenizer

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int num = Integer.parseInt(st.nextToken());

System.out.print(2-num+" ");

 

입출력 클래스와 함수를 이용하여 문제를 풀어보자.

 

정답 코드 1)

import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int king = sc.nextInt();
        int queen = sc.nextInt();
        int rook = sc.nextInt();
        int bishop = sc.nextInt();
        int knight = sc.nextInt();
        int pawn = sc.nextInt();
        
        System.out.print((1-king)+" ");
        System.out.print((1-queen)+" ");
        System.out.print((2-rook)+" ");
        System.out.print((2-bishop)+" ");
        System.out.print((2-knight)+" ");
        System.out.print((8-pawn));
    }
}

정답 코드 2)

import java.util.*;
import java.io.*;

class Main {
    public static void main(String[] args)throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        int king = Integer.parseInt(st.nextToken());
        int queen = Integer.parseInt(st.nextToken());
        int rook = Integer.parseInt(st.nextToken());
        int bishop = Integer.parseInt(st.nextToken());
        int knight = Integer.parseInt(st.nextToken());
        int pawn = Integer.parseInt(st.nextToken());
        
        System.out.print((1-king)+" ");
        System.out.print((1-queen)+" ");
        System.out.print((2-rook)+" ");
        System.out.print((2-bishop)+" ");
        System.out.print((2-knight)+" ");
        System.out.print((8-pawn));
    }
}
반응형