JAVA

다수결의 원칙

코린이도이 2023. 9. 24. 14:41

- 후보가 1번부터 5번까지 있는 투표를 진행하여 vote 배열 안에 저장되어 있습니다.

- 이 vote 배열을 개표해서 어느 후보가 가장 많은 표를 획득했는지 알 수 있습니다.

1. 배열에 들어있는 값이 가장 많은 숫자를 변수 winner에 저장하여 "투표의 승자는 winner번 후보입니다." 문장을 출력하는 코드를 작성하세요.

tip

- 각 숫자들을 저장할 배열을 선언해서 사용하면 편리하게 구할 수 있습니다.

public class Main {
	public static void main(String args[]) {
    	int[] vote = new int[] {1, 3, 2, 3, 1, 2, 5, 3, 4, 2, 5, 1, 2, 3, 4, 2, 4, 2, 3, 4, 1, 5, 3, 4, 2, 4, 1, 2, 3, 4, 1, 5, 2, 3, 1, 5, 2, 3, 4, 2, 5, 1, 5, 2, 3 ,4, 1, 3, 3, 2};
        int winner = 0;
        int [] voteCount = new int[] {0,0,0,0,0};
        for (int i = 0; i < voteCount.length; i++) {
        	voteCount[vote[i]-1]++;
        }
        int max = 0;
        for(int i = 0; i < voteCount.length; i++) {
        	if(voteCount[i] > max) {
            	max = voteCount[i];
                winner = i+2;
            }
        }
        System.out.println("투표의 승자는 " + winner + "번 후보입니다.");
    }
}

풀긴 풀었는데 답이 왜 맞게 나온지 모르겠음