Tags
- Java
- ์ ์๋ก
- dfs
- sort
- Python
- PGM
- LV2
- ๋๋น ์ฐ์ ํ์
- ์ ๋ ฌ
- BOJ
- ๊ต์ฌ
- ๊น์ด ์ฐ์ ํ์
- queue
- ๊ทธ๋ํ ์ด๋ก
- ์ํ
- stack
- greedy
- SpringBoot
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ํ์
- ๋ฌธ์์ด
- BFS
- ์๋ฎฌ๋ ์ด์
- ๋ฐฑํธ๋ํน
- ๊ตฌํ
- Brute Force Algorithm
- Dynamic Programming
- DP
- CodingTest
- Study
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1431 : ์๋ฆฌ์ผ ๋ฒํธ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ ์ธ ์กฐ๊ฑด์ผ๋ก ์ ๋ ฌํด์ ์ถ๋ ฅํ๋ค.
- ๊ธธ์ด๊ฐ ๋ค๋ฅด๋ค๋ฉด ์งง์ ๊ฒ์ด ์์ ์จ๋ค.
- ๊ธธ์ด๊ฐ ๊ฐ๋ค๋ฉด, ํ ๋ฌธ์์ด ์์ ๋ค์ด์๋ ์ซ์์ ํฉ์ด ์์ ๊ฒ์ด ๋จผ์ ์จ๋ค.
- ์ซ์์ ํฉ๋ ๊ฐ๋ค๋ฉด, ๋ฌธ์์ด์ ์ฌ์ ์ ๋น๊ตํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[] arr = new String[n];
for (int i = 0; i < n; i++) arr[i] = br.readLine();
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int len1 = o1.length();
int len2 = o2.length();
if (len1 != len2)
return len1 - len2;
else {
int sum1 = 0, sum2 = 0;
for (int i = 0; i < len1; i++){
if (o1.charAt(i) >= '0' && o1.charAt(i) <= '9')
sum1 += o1.charAt(i) - '0';
if (o2.charAt(i) >= '0' && o2.charAt(i) <= '9')
sum2 += o2.charAt(i) - '0';
}
if (sum1 != sum2)
return sum1 - sum2;
else
return o1.compareTo(o2);
}
}
});
for (String s : arr) {
System.out.println(s);
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- String ๋ฐฐ์ด arr์ ๋ฌธ์์ด๋ค์ ์
๋ ฅ๋ฐ๊ณ Arrays.sort()๋ฅผ ์ฌ์ฉํด ์ ๋ ฌํ๋ค.
- ์ ๋ ฌ ์กฐ๊ฑด์ orverride๋ก ์ฌ์ ์ํ๋ค. (์์ ๋ฐํ == o1์ด ๋น ๋ฅด๋ค)
- ๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ๋ค๋ฅด๋ฉด ์งง์๊ฒ ๋ ๋น ๋ฅด๋ค
- ๋ ๋ฌธ์์ด์ ํฌํจ๋์ด ์๋ ์ซ์๋ค์ ์ด ํฉ์ด ์์์ชฝ์ด ๋ ๋น ๋ฅด๋ค.
- ์ ๋ ์กฐ๊ฑด์ผ๋ก๋ ํ๋ณ์ด ์๋๋ฉด compareTo()๋ฅผ ์ฌ์ฉํด ์ฌ์ ์ ์ ๋ ฌํ๋ค.
- ์ ๋ ฌ ์กฐ๊ฑด์ orverride๋ก ์ฌ์ ์ํ๋ค. (์์ ๋ฐํ == o1์ด ๋น ๋ฅด๋ค)
๐ธ end ๐ธ
- ์ด๋ฒ ์ ๋ ฌ 3๋ฌธ์ ํ๊ธฐ๋ Arrays.sort()์ ์ ๋ ฌ ์กฐ๊ฑด์ ๋ค์ํ๊ฒ ๋ฐ๊ฟ๋ณด๋ ์ข์ ์ฐ์ต์ด ๋ ๊ฒ ๊ฐ๋ค.
- ํด๋์ค๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด ๋ค์ํ ์ธ์๋ก ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด ๋ฌธ์ ์ฒ๋ผ ๋ด์ฅํ์ผ๋ก ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋๋ฅผ ์ด์ฉํด ์ ๋ ฌ ์กฐ๊ฑด์ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ํ์คํ ์ตํ๊ฐ๋ ๊ฒ ๊ฐ๋ค.
- ๋ด์ฅํ์ผ๋ก ์ ๋ ฌ์กฐ๊ฑด์ ๋ฐ๊ฟ๋๋ ์ ๋ ฌ ์ธ์๊ฐ 1๊ฐ๋ก ๋๊ฐ์ ๋๋ง ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2704 : ์ด์ง๋ฒ ์๊ณ (0) | 2022.11.18 |
---|---|
BOJ_17478 : ์ฌ๊ทํจ์๊ฐ ๋ญ๋ฐ์? (0) | 2022.11.16 |
BOJ_10825 : ๊ตญ์์ (0) | 2022.11.10 |
BOJ_2535 : ์์์ ์ ๋ณด์ฌ๋ฆผํผ์๋ (0) | 2022.11.09 |
BOJ_1377 : ๋ฒ๋ธ ์ํธ (0) | 2022.11.08 |