[JAVA] 킹, 퀸, 룩, 비숍, 나이트, 폰

NoHae·2025년 8월 18일

백준

목록 보기
64/106

문제 출처

단계별로 풀어보기 > 심화 1 > 킹,퀸,룩,비숍,나이트,폰
https://www.acmicpc.net/problem/3003

문제 설명

킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성된 체스에서
발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는가 구하여라

접근 방법

기물의 개수를 저장할 arr를 생성하여 저장한다.
그리고, 입력 받은 값들을 각각 순회하여 비교하여 계산한다.

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

public class 킹_퀸_룩_비숍_나이트_폰{
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));


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

        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();


        for(int i = 0; i < arr.length; i++){
            sb.append(arr[i]-Integer.parseInt(st.nextToken())).append(" ");
        }

        bw.write(sb.toString());
        bw.flush();
        bw.close();
        br.close();

    }

}

알게된 점

해당 풀이대로 계산하면 시간 복잡도는 O(1)(입력 받은 6개만 계산하면 되기 때문)이 된다.

문제푼 흔적

profile
노력 해보려고 하는 사람(00년생 소프트웨어융합학과, 24년 12월 부터 백엔드 및 코테 공부 시작)

0개의 댓글