https://www.acmicpc.net/problem/1181
1181๋ฒ: ๋จ์ด ์ ๋ ฌ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 20,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 50์ ๋์ง ์๋๋ค.
www.acmicpc.net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import java.util.Scanner; import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); String[] arr = new String[N]; in.nextLine(); for (int i = 0; i < N; i++) { arr[i] = in.nextLine(); } Arrays.sort(arr, new Comparator<String>() { public int compare(String s1, String s2) { if (s1.length() == s2.length()) { return s1.compareTo(s2); } else { return s1.length() - s2.length(); } } }); System.out.println(arr[0]); for (int i = 1; i < N; i++) { if (!arr[i].equals(arr[i - 1])) { System.out.println(arr[i]); } } } } | cs |
๋จผ์ ์ค์บ๋๋ฅผ ์ ์ธ์ ํด์ค๋ค. ๊ทธ ๋ค์ ์ค์บ๋๋ฅผ ํตํด์ ์ฌ์ฉ์ํํ ๋จ์ด์ ๊ฐฏ์๋ฅผ ์ ๋ ฅ์ ๋ฐ๋๋ค. ๊ทธ ๋ค์ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ฃผ๊ณ N๋งํผ for๋ฌธ์ ํตํด์ ๋ฐฐ์ด์ ๊ทธ ๊ฐ์ ๋ฃ์ด์ค๋ค. in.nextLine();์ ์ด ์ด์ ๋ ์ด๋ฅผ ์ฐ์ง ์๊ณ ๋ฐ๋ก for๋ฌธ์ผ๋ก ๋ค์ด๊ฐ๋ฉด ๊ฐํ๋ฌธ์๊ฐ arr[0]์ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ ๋ค์ new Comparator<String>()๋ก Arrays.sort์ Comparator๋ฅผ ์ฌ์ ์ ํด์ค๋ค.
compare ๋ฉ์๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌํดํ์ด intํ์ด๋ค. 3๊ฐ์ง์ ๋ฆฌํด ๊ฐ์ด ์๋๋ฐ ์ด ๋ฆฌํด ๊ฐ์ ์ํด ์์น๋ฅผ ๋ฐ๊ฟ์ง ๋ง์ง, ๋ฐ๊พผ๋ค๋ฉด ์ด๋๋ก ๋ฐ๊ฟ์ง ๊ฒฐ์ ํ๋ค. 3๊ฐ์ง ๋ฆฌํด๊ฐ์ 1. ์์, 2. 0, 3. ์์์ด๋ค.
์์์ผ ๊ฒฝ์ฐ ๋ ์์น๋ ๋ฐ๋๊ณ 0๊ณผ ์์์ผ ๊ฒฝ์ฐ์ด๋ฉด ๋ฐ๋์ง ์๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ {3,4,5}๋ผ๋ ๊ฐ์ด ์์ผ๋ฉด
3 - 4๋ฅผ ์งํ์ ํ๋ค. ์์์ด๊ธฐ ๋๋ฌธ์ ์๋ฌด์ผ๋ ์ผ์ด๋์ง ์๋๋ค. ๋ง์ฝ {4,3,5}์๋ค๋ฉด? 4 - 3์ ์์์ด๊ธฐ ๋๋ฌธ์ {3,4,5}๋ก ๋ฐ๋์์ ๊ฒ์ด๋ค.
๊ทธ๋ผ ๊ทธ ๋ค์ ๋จ์ด ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด s1.compareTo(s2)๋ฅผ ํตํด์ ๋จ์ด๋ฅผ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ์ ํ๋ค.(๋ฌธ์ ์ ์กฐ๊ฑด)
๊ทธ๋ ์ง ์์ผ๋ฉด ๋จ์ด์ ๊ธธ์ด๊ฐ ๋ค๋ฅด๋ค๋ฉด ๋ ๋จ์ด์ ๊ธธ์ด๋ฅผ ๋นผ์ฃผ์ด์ ๋น๊ต๋ฅผ ํด์ฃผ์ด. 0์ธ์ง, ์์์ธ์ง, ์์์ธ์ง ํ๋ณ์ ํด์ค๋ค
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 11478 ์๋ก ๋ค๋ฅธ ๋ฌธ์์ด์ ๊ฐ์ With JAVA (0) | 2024.01.16 |
---|---|
๋ฐฑ์ค 1269 ๋์นญ์ฐจ์งํฉ with JAVA (0) | 2024.01.15 |
๋ฐฑ์ค 2750 ์ ์ ๋ ฌํ๊ธฐ With JAVA (0) | 2024.01.14 |
๋ฐฑ์ค 2349 ๋ณ์ฐ๊ธฐ with JAVA (0) | 2024.01.12 |
๋ฐฑ์ค 19532 ์ํ์ ๋น๋๋ฉด ๊ฐ์์ ๋๋ค with JAVA (0) | 2024.01.12 |