반응형
안녕하세요! 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 |