today_is
[ 백준 3003번 ] 킹, 퀸, 룩, 비숍, 나이트, 폰 ( java ) 본문
문제
검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다.
체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.
동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.
출력
첫째 줄에 입력에서 주어진 순서대로 몇 개의 피스를 더하거나 빼야 되는지를 출력한다. 만약 수가 양수라면 동혁이는 그 개수 만큼 피스를 더해야 하는 것이고, 음수라면 제거해야 하는 것이다.
입력 예시
0 1 2 2 2 7
출력 예시
1 0 0 0 0 1
문제 파악하기
백준 사이트에서 제공되는 입력예시 1 과 출력예시 1 을 비교하여 문제를 파악해보았습니다.
기존 피스 개수 | 1 | 1 | 2 | 2 | 2 | 8 |
입력 받은 개수 | 0 | 1 | 2 | 2 | 2 | 7 |
차이값 | +1 | 0 | 0 | 0 | 0 | +1 |
주의사항
차이값을 출력시켜야한다.
정답 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int king = 1;
int queen = 1;
int rook = 2;
int bishop = 2;
int knight = 2;
int pawn = 8;
king = king - in.nextInt();
queen = queen - in.nextInt();
rook = rook - in.nextInt();
bishop = bishop - in.nextInt();
knight = knight - in.nextInt();
pawn = pawn - in.nextInt();
System.out.print(king + " ");
System.out.print(queen + " ");
System.out.print(rook + " ");
System.out.print(bishop + " ");
System.out.print(knight + " ");
System.out.print(pawn);
}
}
미리, 변수들의 값을 지정해두고
입력받은 값이랑 비교한 뒤에 결과를 형식에 맞게 출력한다
study_review

처음에 제출한 코드 (런타임 에러 났음 ;;)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String compare = "112228";
String str = sc.nextLine();
str = str.replace(" ", "");
String result = "";
for(int i = 0; i < str.length(); i++) {
char ch1 = compare.charAt(i);
char ch2 = str.charAt(i);
if(ch1 >= ch2) {
result += (ch1 - ch2);
}
if(ch1 < ch2) {
result += (ch1 - ch2);
}
if(i != str.length() - 1) {
result += " ";
}
}
System.out.print(result);
}
}
이클립스에서 확인했을 때에는 에러가 안떠서 당당하게 제출했는데,
StringIndexOutOfBounds 가 떴다.
대체 왜 백준에서만 오류가 나는건지 잘 모르겠다.
의심 가는 부분은 입력을 nextLine()으로 받고, replace 처리 해주는게 오류 나는것 같은데..
조금 수정해서 다시 제출해도 틀렸다고 뜨더라.
좀 더 고민해봐야겠다.
이 부분에 대해서 알고 계신다면 꼭 알려주십쇼
'java' 카테고리의 다른 글
[ 상속 ] (0) | 2023.12.10 |
---|---|
[ 백준 2444번 ] 별 찍기 - 7 ( java ) (0) | 2023.12.10 |
[ jsp ] 단순한 도서 관리 (0) | 2023.12.08 |
[ jsp ] request 와 response 의 내장객체 (0) | 2023.12.07 |
[ socket ] ip 주소를 통해 간단한 메시지 주고받기 (0) | 2023.12.06 |