[๋ฐฑ์ค] 5052 - ์ ํ๋ฒํธ ๋ชฉ๋ก | Gold4 | node.js ์๋ฐ์คํฌ๋ฆฝํธ
๋ฌธ์
https://www.acmicpc.net/problem/5052
5052๋ฒ: ์ ํ๋ฒํธ ๋ชฉ๋ก
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ t๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ t ≤ 50) ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ์ ํ๋ฒํธ์ ์ n์ด ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 10000) ๋ค์ n๊ฐ์ ์ค์๋ ๋ชฉ๋ก์ ํฌํจ๋์ด ์๋ ์ ํ๋ฒํธ๊ฐ
www.acmicpc.net
์ฝ๋
function solve(phoneNumList) {
phoneNumList.sort();
for (let i = 1; i < phoneNumList.length; i++) {
const prevNum = phoneNumList[i - 1];
const currNum = phoneNumList[i];
if (currNum.startsWith(prevNum)) return "NO";
}
return "YES";
}
const filePath =
process.platform === "linux" ? "/dev/stdin" : "๋ฐฑ์ค/gold/5052/testcase.txt";
const input = require("fs")
.readFileSync(filePath)
.toString()
.trim()
.split("\n");
for (let i = 1; i < input.length; ) {
const n = +input[i];
console.log(solve(input.slice(i + 1, i + 1 + n)));
i += n + 1;
}
์ฒ์์ ์ ํ๋ฒํธ์ ์๋ฆฟ์๊ฐ ์์ ์์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ๊ณ ์ ํ ํ์์ผ๋ก ํ์์ผ๋ ์ญ์๋ ์๊ฐ์ด๊ณผ ..!
์๊ฐํด๋ณด๋ ๋ฌธ์์ด ์ ๋ ฌ์ "976 > 911867" ์ด๋ฐ์์ผ๋ก ํ๋จ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ sort๋ง ์จ๋ ๋๋ค.
์๋ ์์ ์ ๊ฒฝ์ฐ๋ฅผ ๋ณด๋ฉด,
์์ ์ ๋ ฅ 1
976
97625999
91125426
์์ ์ถ๋ ฅ 1
NO
์ ๋ ฌํ๋ฉด ["91125426", "976", "97625999"] ์ด๋ ๊ฒ ๋๋ค. ๋ฐ๋ผ์ i์ ํ์ฌ ๊ฐ๊ณผ ๋ค์ ๊ฐ๋ง ๋น๊ตํด์ค๋ ์ ๋ต์ด ๋์จ๋ค. ๊ตณ์ด ์ ํํ์์ผ๋ก ํ๋ํ๋ ๋น๊ต๋ฅผ ๋ค ์ํด์ค๋ ๋๋ค.
์ด๋ฆฌ์์ ๋ ๋ฐ์ฑํด๋ผ๐ง