https://www.acmicpc.net/problem/11557
๐ฉ๋ฌธ์

๐๋ฌธ์ ํด๊ฒฐ
1.์ ์๋น๊ฐ ๊ฐ์ฅ ๋ง์ ๊ณณ์ ์๋ ค๋ฉด ์ ์๋น๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ผํ๋ค.
2.์ ์ ์๋นํ ์์ด ๊ฐ์ ํ๊ต๋ ์๋ค๊ณ ์ฃผ์ด์ก์ผ๋ฏ๋ก ์ค๋ณต๊ฐ์ ์ ์ฅํ์ง ์๋ map์ ์ฌ์ฉํ์ฌ
์ ์ ์๊ณผ ํ๊ต๋ฅผ ์ง์ง์ด๋ ๋๋ฝ๋๋ ํ๊ต๊ฐ ์๋ค.
3.๊ทธ๋ฌ๋ฏ๋ก map์ key๋ก ์ ์ ์, value๋ก ํ๊ต์ด๋ฆ์ ๋ฃ๊ณ
4.key๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ
5.map์ ์ฒซ๋ฒ์งธํค๊ฐ์ ํตํด value๋ฅผ ๊ฐ์ ธ์จ๋ค.
* ์๋์ ๋ ฌ์ด ๋๋ TreeMap์ ์ฌ์ฉํ์ฌ ๋ด๋ฆผ์ฐจ์์กฐ๊ฑด์ ๊ฑธ์ด์ค๋ค.
* ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ ์๋ก ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ฌด์กฐ๊ฑด ํ๊ต์ด๋ฆ,์ ์ ์ ๋ฟ์ด๋ฏ๋ก BufferedReader๋ฅผ ํตํด Split์ ์ด์ฉํ์ฌ ํด๋น ๊ฐ์ ๊ฐ์ ธ์จ๋ค
* ๊ฐ ํ ์คํธ ์ผ์ด์ค ๋ง๋ค ์ถ๋ ฅํด์ผํ๋ ํ ์คํธ์ ๋ฒ์๊ฐ ์ฃผ์ด์ ธ ์์ง ์์ผ๋ฏ๋ก scanner๋ณด๋ค StringBuilder๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ๊ฐ
์ข ๋ฃ๋๊ณ ๋ง์ง๋ง์ ํ๊บผ๋ฒ์ ํด๋น ๊ฐ๋ค์ ์ถ๋ ฅํ๋ค.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int t= Integer.parseInt(br.readLine()); //ํ
์คํธ ์ผ์ด์ค
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(br.readLine()); //ํ๊ต์ ์
TreeMap<Integer,String> map = new TreeMap<>(Collections.reverseOrder());
for (int j = 0; j < n; j++) {
String [] str = br.readLine().split(" ");
map.put(Integer.parseInt(str[1]),str[0]); //0:ํ๊ต์ด๋ฆ 1:์ ์ ์
}
sb.append(map.firstEntry().getValue()).append("\n");
}
System.out.println(sb);
}
}
๋ฉ๋ชจ๋ฆฌ: 14024 KB, ์๊ฐ: 96 ms
๐๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ
์ ์ ์ต๋์๊ณผ ๊ทธ์ ํด๋นํ๋ ํ๊ต๋ฅผ ์ ์ฅํ๋ ๋ณ์๋ฅผ ์ ์ธํ๋ค.
for๋ฌธ์ ๋๋ฉด์ ์ ๋ ฅ๋ฐ์ ์ ์ ์ต๋์์ด
๊ธฐ์กด๊ฐ๋ณด๋ค ํฌ๋ฉด ์ต๋์๊ณผ ํ๊ต๋ฅผ ์ ์ฅํด์ค๋ค.
for๋ฌธ์ด ๋๋๋ฉด ํด๋น ํ๊ต๋ฅผ ์ถ๋ ฅํ๋ค.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int t= Integer.parseInt(br.readLine()); //ํ
์คํธ ์ผ์ด์ค
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(br.readLine()); //ํ๊ต์ ์
int max = 0; //์ต๋ ์ ์ ์
String school = ""; //๊ทธ์ ํด๋นํ๋ ํ๊ต
TreeMap<Integer,String> map = new TreeMap<>(Collections.reverseOrder());
for (int j = 0; j < n; j++) {
String [] str = br.readLine().split(" ");
if(Integer.parseInt(str[1])>max){
max = Integer.parseInt(str[1]);
school = str[0];
}
}
sb.append(school).append("\n");
}
System.out.println(sb);
}
}
๋ฉ๋ชจ๋ฆฌ: 14032KB, ์๊ฐ: 100 ms
์ฃผ์ด์ง๋ ํ๊ต์ ๋ฒ์๊ฐ ์์์ ๊ทธ๋ฐ์ง map์ ๋ด์ง์๊ณ max๋น๊ต๋ฅผ ํตํด ํ๊ต์ด๋ฆ์ ๊ฐ์ ธ์์๋
์ ์๋ฏธํ ์ฐจ์ด๊ฐ ์์๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Java]BOJ 2776 : ์๊ธฐ์ (0) | 2025.01.13 |
|---|---|
| [Java]BOJ 1388 : ๋ฐ๋ฅ์ฅ์ (0) | 2024.12.07 |
| [Java]BOJ 1026 : ๋ณด๋ฌผ (0) | 2024.12.06 |
| [Java]BOJ 16112 : 5์ฐจ ์ ์ง (0) | 2024.12.03 |
| BOJ 1863 : ์ค์นด์ด๋ผ์ธ ์ฌ์ด๊ฑฐ (0) | 2024.12.03 |