๐ ๋ค์ด๊ฐ๋ฉฐ
์๋ฐ์คํฌ๋ฆฝํธ(nodejs)๋ก ๋ฐฑ์ค 1316๋ฒ ๋ฌธ์ ์ธ '๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค' ๋ฌธ์ ๋ฅผ ํ์ดํด๋ณด๊ฒ ๋ค.
โ ๋ฌธ์
๋ฌธ์ ์ค๋ช
๊ทธ๋ฃน ๋จ์ด๋ ๋จ์ด์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ ๋ํด์, ๊ฐ ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋ํ๋๋ ๊ฒฝ์ฐ๋ง์ ๋งํ๋ค. ์๋ฅผ ๋ค๋ฉด, ccazzzzbb๋ c, a, z, b๊ฐ ๋ชจ๋ ์ฐ์ํด์ ๋ํ๋๊ณ , kin๋ k, i, n์ด ์ฐ์ํด์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด์ด์ง๋ง, aabbbccb๋ b๊ฐ ๋จ์ด์ ธ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋๋ค.
๋จ์ด N๊ฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
- ์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ๋ค์ด์จ๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋จ์ด๊ฐ ๋ค์ด์จ๋ค. ๋จ์ด๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ๋์ด์๊ณ ์ค๋ณต๋์ง ์์ผ๋ฉฐ, ๊ธธ์ด๋ ์ต๋ 100์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
3
happy
new
year
์์ ์ถ๋ ฅ 1
3
์์ ์ ๋ ฅ 2
4
aba
abab
abcabc
a
์์ ์ถ๋ ฅ 2
1
์์ ์ ๋ ฅ 3
5
ab
aa
aca
ba
bb
์์ ์ถ๋ ฅ 3
4
๐ก ํ์ด
๋จผ์ ์ ๋ ฅ์ ๋ฐ์ ๊ฐ๋ค์ arr ๋ณ์์ ํ ๋นํด ์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ answer ๋ณ์์ arr์ length๋ฅผ ํ ๋นํด ์ฃผ์๋๋ฐ, ์ด์ ๋ ๊ทธ๋ฃน ๋ฌธ์์ด์ด ์๋ ๋ฌธ์์ด์ ์ฐพ์ ๋๋ง๋ค -1์ ํด์ค์ ์ ๋ต์ return ํ๊ธฐ ์ํจ์ด๋ค.
arr๋ฐฐ์ด ๋ณ์๋ฅผ ์ํํ๋ฉด์ temp๋ผ๋ ๋ณ์์ arr์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋ฌธ์์ด์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ํ ๋นํด์ฃผ์๋ค.
๊ทธ๋ฃน ๋ฌธ์์ธ์ง ์๋์ง๋ฅผ ํ๋ณํ ๋ ํ๋ ์ด์์ ๊ฐ์ด ์์ด์ผ ํ๋ณํ ์ ์๋ค๊ณ ์๊ฐํ์๊ณ , ์ด์ค for๋ฌธ์ด ๋๋๋ฉด ์๋กญ๊ฒ ํ๋ณํ ์ ์๊ฒ ๋ ๋ค์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ํํ ๋ฌธ์์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋ฃ์ด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ์ด์ค for๋ฌธ์ ๋๋ฒ์งธ ๋ฌธ์ ์ฆ, 1๋ฒ index๋ถํฐ ์ํํ๋๋ก ํ๋ค.
์ํ๋ฅผ ํ๋ฉด์ temp ๋ฌธ์์ด ๋ณ์์ ํ์ฌ ์ํํ๋ ๋ฌธ์๊ฐ ๋ค์ด๊ฐ ์๋๋ฐ!(includes), ์ ์ ๋ฌธ์๋ ๊ฐ์ง ์๋ค?
๊ทธ๋ผ ์์ answer๋ฐฐ์ด์์ -1์ ํด์ฃผ๋๋ก ํ๊ณ ์ด๋ฏธ ๊ทธ๋ฃน ๋ฌธ์์ด์ด ์๋ ๊ฒ ํ์ธ์ด ๋์์ผ๋ break ํ์ฌ๊ธ ํ์ฌ for๋ฌธ์ ์ค์งํ๊ณ ๋น ์ ธ๋๊ฐ ์ ์๋๋ก ํด์ฃผ์๋ค.
if๋ฌธ์ ๊ฑฐ์น์ง ์์๋ค๋ฉด temp๋ณ์์ ํ์ฌ ๋ฌธ์๋ฅผ ์ถ๊ฐํด ์ค์ผ๋ก์จ ์ ๋๋ก ๋ ํ๋ณ์ด ๋๊ฒ๋ ํด์ฃผ์๋ค.
ํ์ด ์ฝ๋
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = fs.readFileSync(file).toString().trim().split('\n');
const arr = [];
for (let i = 1; i < input.length; i++) {
arr.push(input[i]);
}
let answer = arr.length;
let temp = '';
arr.forEach((item) => {
temp = item[0];
for (let i = 1; i < item.length; i++) {
if (temp.includes(item[i]) && item[i - 1] !== item[i]) {
answer--;
break;
}
temp += item[i];
}
});
console.log(answer);
โ ์ฑ์