반응형
https://www.acmicpc.net/problem/3003
3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰
첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.
www.acmicpc.net
- 문제
- 문제 풀이
백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰은 브론즈 5 난이도의 수학 및 구현 문제이다. 이 문제에서는 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어지고 몇 개의 피스가 더 필요한지 구하면 된다.
우선 예를 한번 보겠다. 원래의 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수는 각각 1, 1, 2, 2, 2, 8개이다.
EX 1) 0 1 2 2 2 7
이 예시에서는 킹이 0개, 퀸이 1개, 룩이 2개, 비숍이 2개, 나이트 2개, 그리고 폰은 7개가 있다.
따라서, 킹이 1개 더 필요하고 퀸은 0개, 룩도 0개, 비숍, 나이트도 0개, 그리고 폰은 1개가 더 필요하다.
따라서, 답은 1 0 0 0 0 1이 된다.
이 문제는 간단한 배열을 이용해서 풀 수가 있다. 우선, 원래 각 피스가 총 몇개가 필요한지 배열로 초기화해서 선언해준다. 이 배열을 piece라고 부르겠다. 즉, piece는 {1, 1, 2, 2, 2, 8}이 된다. 그리고 입력받는 수마다 piece에서 그 값을 빼주고 출력해주면 된다.
자세한 코드는 밑에서 참고할 수 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int[] piece = {1, 1, 2, 2, 2, 8}; // 피스의 개수
for (int i = 0; i < piece.length; i++) {
int n = Integer.parseInt(st.nextToken());
sb.append(piece[i] - n + " ");
}
System.out.print(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 5565번 : 영수증 – JAVA [자바] (0) | 2022.08.03 |
---|---|
[백준] 2167번 : 2차원 배열의 합 – JAVA [자바] (0) | 2022.08.02 |
[백준] 1271번 : 엄청난 부자2 – JAVA [자바] (0) | 2022.08.02 |
[백준] 10991번 : 별 찍기 - 16 – JAVA [자바] (0) | 2022.08.01 |
[백준] 2953번 : 나는 요리사다 – JAVA [자바] (0) | 2022.08.01 |
댓글