팡세영
Log sey
팡세영
전체 방문자
오늘
어제
  • 분류 전체보기 (73)
    • PS (45)
      • programmers (13)
      • 백준 (29)
    • Android (16)
    • Daily (0)
    • Kotlin (6)
    • Design Pattern (1)
    • Java (1)
    • Flutter (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 실버
  • 이분탐색
  • 골드
  • 의존성 주입
  • LEVEL2
  • java
  • 프로그래머스
  • 문자열
  • 완전탐색
  • 하단네비게이션바
  • Android
  • binding
  • compose
  • flutter
  • 정렬
  • ArcitecturePattern
  • 자바
  • 안드로이드
  • Kotlin
  • 백준
  • DFS
  • BFS
  • programmers #프로그래머스
  • TestCode
  • programmers
  • 구현
  • 코틀린
  • mvvm
  • 해쉬맵
  • CustomView

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
팡세영

Log sey

[백준] - 키 큰 사람 11292
PS/백준

[백준] - 키 큰 사람 11292

2022. 11. 7. 18:26

 


https://www.acmicpc.net/problem/11292

 

11292번: 키 큰 사람

민우는 학창시절 승부욕이 강해서 달리기를 할 때에도 누가 가장 빠른지를 중요하게 생각하고, 시험을 볼 때에도 누가 가장 성적이 높은지를 중요하게 생각한다. 이번에 반에서 키를 측정하였

www.acmicpc.net


[문제 풀이]

  • Sudent 클래스를 만든 후 클래스 정렬을 위해 Compareable 인터페이스를 구현해준다.
  • Colletions.sort 를 이용해 정렬을 해준 후 list를 순차적으로 탐색하면서 현재 요소와 다음 요소의 키가 다르다면
  • 반복문을 종료시킨다.
  • 실수 정렬을 위해 Double.compar(o1, o2)를 이용

[Java]

 

import java.io.*;
import java.util.*;


public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));


        while(true){
            int n = Integer.parseInt(br.readLine());

            if(n == 0) {
                bw.flush();
                return;
            }

            ArrayList<Student> student = new ArrayList<>();

            for(int i=0; i<n; i++){
                StringTokenizer st = new StringTokenizer(br.readLine());
                student.add(new Student(st.nextToken(), Double.parseDouble(st.nextToken())));
            }
            Collections.sort(student);
            student.add(new Student("is dummy", 99999.0));

            for(int i=0; i<student.size(); i++){
                bw.write(student.get(i).name + " ");

                if(student.get(i).height != student.get(i+1).height) break;

            }
            bw.write("\n");

        }

    }


}

class Student implements Comparable<Student>{
    String name;
    double height;

    public Student(String name, Double height) {
        this.name = name;
        this.height = height;
    }


    @Override
    public int compareTo(Student o) {
        return Double.compare(o.height,this.height);
    }
}

'PS > 백준' 카테고리의 다른 글

[백준] 문자열 잘라내기 2866  (2) 2022.11.10
[백준] - 암기왕 2776  (0) 2022.11.09
[백준] - 자리배정 10157  (0) 2022.11.06
백준 1753 - 최단 경로 (다익스트라)  (0) 2022.09.20
백준 안전영역 2468 - java  (0) 2022.08.26
    'PS/백준' 카테고리의 다른 글
    • [백준] 문자열 잘라내기 2866
    • [백준] - 암기왕 2776
    • [백준] - 자리배정 10157
    • 백준 1753 - 최단 경로 (다익스트라)
    팡세영
    팡세영
    Android, CS, PS

    티스토리툴바