더 좋은 문제 풀이가 있거나 궁금하신 점이 있다면 편하게 댓글 남겨주세요!
처음 문제를 접했을 때 "입출력과 사칙연산 파트" 이니 킹, 퀸, 룩, 비숍, 나이트, 폰을 각각 변수로 선언하고 Scanner를 6번 반복할까 생각했다. 그러나 무의미한 반복으로 코드만 길어지고 가독성이 떨어질 것 같았다. 그래서 아직 배열 파트는 아니지만 배열을 사용하기로 하였다.
먼저 int 배열을 사용하여 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수를 고정하였다.
int chess[] = {1, 1, 2, 2, 2, 8}; // 킹, 퀸, 룩, 비숍, 나이트, 폰 개수
그 후 반복문을 통해 찾은 체스의 수를 입력하였다.
for(int i =0; i< chess.length; i++){
findChess[i] = sc.nextInt();
}
다음으로는 다시 반복문을 통해 몇 개의 피스를 더하거나 빼야 되는지를 출력하였다.
for(int i =0; i < chess.length; i++){
System.out.printf("%d ", chess[i]- findChess[i] );
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int chess[] = {1, 1, 2, 2, 2, 8};
int findChess[] = new int[chess.length];
for(int i =0; i< chess.length; i++){
findChess[i] = sc.nextInt();
}
for(int i =0; i < chess.length; i++){
System.out.printf("%d ", chess[i]- findChess[i] );
}
}
}