본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1420 : 범인을 잡아라 2

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1420 3등 찾기 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

첫째 줄에 n이 입력된다. ( 3 <= n <= 50 )
둘째 줄 부터 n+1행까지 친구의 이름과 점수가 공백으로 분리되어 입력된다. 이름은 영문

출력

세 번째로 높은 학생의 이름을 출력한다.

예시

  • 입력 :
    5
    minsu 78
    gunho 64
    sumin 84
    jiwon 96
    woosung 55
  • 출력 : minsu

Solution (풀이)

  • 풀이 : 메모리 11312, 시간 81
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int number = Integer.parseInt(br.readLine());
        StringTokenizer st;

        Map<Integer, String> Students = new HashMap<Integer, String>();    // 이름과 키를 저장할 map
        int[] heights = new int[number];    // 키 저장할 배열

        for (int i=0; i<number; i++) {
            st = new StringTokenizer(br.readLine(), " ");
            String name = st.nextToken();    // 이름
            int height = Integer.parseInt(st.nextToken());    // 키

            Students.put(height, name);    // 이름과 키 amp에 저장
            heights[i] = height;    // 키 배열에 저장 
        }

        // 배열 오름차순 정렬
        Arrays.sort(heights);

        // 3번째로 큰 키를 key로 꺼낸다
        System.out.println(Students.get(heights[number-3]));
        br.close();
    }

}

Ranking(순위)

반응형

'Algorithm > CodeUp' 카테고리의 다른 글

[CodeUp_Java] Q1440 : 비교  (0) 2022.07.26
[CodeUp_Java] Q1425 : 자리 배치  (0) 2022.07.26
[CodeUp_Java] Q1419 : love 2  (0) 2022.07.26
[CodeUp_Java] Q1418 : t를 찾아라  (0) 2022.07.26
[CodeUp_Java] Q1417 : 범인을 잡아라 2  (0) 2022.07.26