[BOJ] 5052.์ ํ๋ฒํธ ๋ชฉ๋ก (Java)
by ๋๋ถ๋
์ด ๋ฌธ์ ๋ ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด๋ก ์ฌ์ฉ๋๋์ง ํ์ธํ๊ณ ,
ํ๋๋ผ๋ ์ ๋์ด๋ก ์ฌ์ฉ๋ ๊ฒฝ์ฐ NO๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ YES๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ ๋๋ค.
์ ๋ ฅ๋ฐ์ ์ ํ๋ฒํธ๋ฅผ ์ ๋ ฌํ ํ
ํ์ฌ ์์น์ ๋ฒํธ๊ฐ ๋ค์ ์์น์ ๋ฒํธ์ ์ ๋์ด๋ก ์ํ๋์ง startWith()์ ํตํด ํ์ธํฉ๋๋ค.
์ด๋, ๋ ์ ํ๋ฒํธ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ๋ก ๋ ๋ฒํธ์ ๊ธธ์ด๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ํ์ธํ ํ์๊ฐ ์์ต๋๋ค.
import java.io.*;
import java.util.Arrays;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine()); // ํ
์คํธ์ผ์ด์ค ์
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(br.readLine()); // ์ ํ๋ฒํธ ์
String[] phoneNumber = new String[n]; // ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด
// ์ ํ๋ฒํธ๋ถ ์์ฑ
for (int j = 0; j < n; j++) {
phoneNumber[j] = br.readLine();
}
Arrays.sort(phoneNumber);
if (isStart(n, phoneNumber)) {
System.out.println("YES");
}
else {
System.out.println("NO");
}
}
br.close();
}
/** isStart
*
* @param n ์ ํ๋ฒํธ ๋ชฉ๋ก ์
* @param phoneNumber ์ ํ๋ฒํธ ๋ชฉ๋ก
* @return ๊ฒฐ๊ณผ์ ๋ฐ๋ฅธ boolean ๊ฐ
*/
public static boolean isStart(int n, String[] phoneNumber) {
for (int k = 0; k < n - 1; k++) {
if (phoneNumber[k].length() == phoneNumber[k+1].length()) // ๊ธธ์ด๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ๋น๊ตํ ํ์ X
continue;
if (phoneNumber[k+1].startsWith(phoneNumber[k])) { // ์ ๋์ด์ธ ๊ฒฝ์ฐ false ๋ฐํ
return false;
}
}
return true; // ์ ๋์ด๊ฐ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก true ๋ฐํ
}
}
'Algorithm > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 1043.๊ฑฐ์ง๋ง (Java) (0) | 2021.04.30 |
---|---|
[BOJ] 5430.AC (Java) (0) | 2021.04.30 |
[BOJ] 11720.์ซ์์ ํฉ (Java) (0) | 2021.04.27 |
[BOJ] 15685.๋๋๊ณค์ปค๋ธ (Python) (0) | 2021.04.23 |
[BOJ] 17406.๋ฐฐ์ด๋๋ฆฌ๊ธฐ4 (0) | 2021.04.22 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
๋๋ถ๋์ Devlog
๋๋ถ๋