문제 링크
3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰
첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.
www.acmicpc.net
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
![](https://blog.kakaocdn.net/dn/ba3Fvh/btrJQ274bVK/Bl5RDJgHXhBCK79WuGDGM1/img.png)
접근 방법
이 문제에 핵심은
1. 체스판의 피스가 주어졌을 때 각 피스를 몇 개를 더해야 올바른 세트가 되는지 결과로 출력합니다.
2. 킹 : 1개, 퀸 : 1개, 룩 : 2개, 비숍 : 2개, 나이트 : 2개, 폰 : 8개가 되어야 올바른 세트입니다.
알고리즘 진행 순서.
1. 입력되는 정보들을 저장합니다.
2. 입력된 피스를 이용해서 필요한 피스들을 구합니다.
3. 필요한 피스들을 결과로 출력합니다.
예제입력 1
1. 입력되는 정보들을 저장합니다.
킹 | 퀸 | 룩 | 비숍 | 나이트 | 폰 |
0 | 1 | 2 | 2 | 2 | 7 |
2. 입력된 피스를 이용해서 필요한 피스들을 구합니다.
킹 | 퀸 | 룩 | 비숍 | 나이트 | 폰 |
1 | 1 | 2 | 2 | 2 | 8 |
0 | 1 | 2 | 2 | 2 | 7 |
1 | 0 | 0 | 0 | 0 | 1 |
3. 필요한 피스들을 결과로 출력합니다.
킹 | 퀸 | 룩 | 비숍 | 나이트 | 폰 |
1 | 0 | 0 | 0 | 0 | 1 |
결과로 [1, 0, 0, 0, 0, 1]을 출력합니다.
- BufferedReader를 사용하여 입력 값을 받았습니다.
- StringTokenizer를 이용하여 입력된 정보들을 띄어쓰기 기준으로 나누었습니다.
- (올바른 세트의 피스 - 입력된 피스)를 진행하며 필요한 피스의 정보를 구합니다.
- 올바른 세트를 만들기 위해 필요한 피스의 정보를 BufferedWriter 저장하였습니다.
- BufferedWriter에 저장된 결과값을 출력하였습니다.
import java.io.*;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static int[] piece = {1, 1, 2, 2, 2, 8}; //올바른 세트의 피스 개수
public static void main(String[] args) throws IOException {
//입력값 처리하는 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//결과값 출력하는 BufferedWriter
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
//올바른 피스에서 입력된 피스를 뺀 결과값 BufferedWriter 저장
for(int i=0;i<6;i++){
piece[i] -= Integer.parseInt(st.nextToken());
bw.write(piece[i] + " ");
}
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] code.plus(브루트 포스 Part 1,JAVA)16917번, 양념 반 후라이드 반 (0) | 2022.08.17 |
---|---|
[백준] code.plus(시뮬레이션과 구현,JAVA)19237번, 어른 상어 (0) | 2022.08.16 |
[백준] code.plus(시뮬레이션과 구현,JAVA)19236번, 청소년 상어 (0) | 2022.08.15 |
[백준] code.plus(브루트 포스 Part 1,JAVA)16968번, 차량 번호판 1 (0) | 2022.08.14 |
[백준] code.plus(시뮬레이션과 구현,JAVA)20061번, 도노미노도미노 2 (0) | 2022.08.13 |
댓글