백준 [3003] (Java)

2023. 8. 4. 17:47백준문제풀이

 

 

의사코드: 

첫번째로 기본적으로 있어야할 기물의 갯수를  미리 정한다.

 

킹=1개 퀸=1개 = 룩=2개 ,비숍=2개, 나이트=2개  ,폰=8개  : 있어야함

 

그러므로 있어야할 값 에서 입력한값(찾아낸 기물의갯수) 를 빼고  그뺀값은 결국에  입력에대한 출력값

(필요한기물의 갯수,즉 차이) 가 된다.

 

 

 

 

 

 

 

 

 

 

첫번째 방법:

 

각각의 기물들을 배열로 정의해서 빼준뒤에 차이를 나타내는 변수를 생성 후 값을 출력해줘도됨 

package 백준3003;



import java.util.Scanner;
public class Main {


    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);

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


for(int i =0; i< 6; i++ ){

    int ActualValue= sc.nextInt();          //green. 입력받을 갯수 (찾아낸 갯수)
    int diff= ExpectedValue[i]-ActualValue;

    System.out.print(diff+" ");
}

sc.close();



    }
}

 

 

 

두번째 방법:

배열로 선언하지않고,  정확한 수치만큼 있어야할 기물과, 필요한 기물(가진 갯수 ) 를    

 

서로 뺴주게되면 그 필요한기물의 갯수와  없어진 기물의 갯수의 차이로 인해 그값의 차이를 알 수 있다.

 

 

 

package 백준3003;



import java.util.Scanner;
public class Main2 {


    public static void main(String[] args) {

Scanner sc= new Scanner(System.in);



int king,queen,look,bishop,knight,pawn=0;


        king=sc.nextInt();
        queen=sc.nextInt();
        look=sc.nextInt();
        bishop=sc.nextInt();
        knight=sc.nextInt();
        pawn=sc.nextInt();

int Missingking,Missingqueen,Missinglook,Missingbishop,MissingKnight,Missingpawn=0;

    Missingking = 1-king;
    Missingqueen= 1-queen;
    Missinglook= 2-look;
    Missingbishop= 2-bishop;
    MissingKnight=2-knight;
        Missingpawn= 8-pawn;

        System.out.println(Missingking);
        System.out.println(Missingqueen);
        System.out.println(Missinglook);
        System.out.println(Missingbishop);
        System.out.println(MissingKnight);
        System.out.println(Missingpawn);

sc.close();
    }
}