문제
문제해결
import java.util.Scanner;
public class B20113 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();//총 인원 수
int[] players = new int[size+1];//투표 포기 0을 포함한 투표 현황
//투표된 사람 +1
for(int i=0;i<size;i++) {
int tmp = sc.nextInt();
players[tmp]++;
}
//가장 큰 값과 해당 인덱스 찾기
int max = 0;
int idx = 0;
for(int i=1;i<=size;i++)
if(players[i]>max) {
max = players[i];
idx = i;
}
//가장 큰 값이 중복될 경우 skipped 출력 후 종료
for(int i=1;i<=size;i++)
if(idx!=i && players[i]==max) {
System.out.println("skipped");
return;
}
//가장 큰 값의 idx값 출력 -> 가장 많이 투표받은 사람
System.out.println(idx);
}
}
1. 투표 현황 배열을 만든다
2. 투표된 사람의 인덱스 값을 하나씩 증가시킨다
3. 배열에서 가장 큰 값과 인덱스 값을 찾는다
4. 배열을 다시 한번 검사해서 큰 값이 중복되면 skipped 출력 후 종료
5. 큰 값이 중복되지 않으면 해당 인덱스 값 출력
'[알고리즘] > 백준' 카테고리의 다른 글
자바 - 구현 - 백준 1213 팰린드롬 만들기 (0) | 2021.03.11 |
---|---|
자바 - 구현 - 백준 2998 8진수 (0) | 2021.03.10 |
자바 - 구현 - 백준 2960 에라토스테네스의 체 (0) | 2021.03.08 |
자바 - 구현 - 백준 1924 2007년 (0) | 2021.03.04 |
자바 - 구현 - 백준 1476 방 번호 (0) | 2021.03.03 |