-
๋ฌธ์ 85. ์ซ์๋์ด(์ซ์ ๋์ ์ํค๊ธฐ)๐ง codingtest/javascript 100์ 2022. 4. 26. 06:48728x90
- ์ด์ ์ซ์์์ ๊ฐ ์ซ์์ ๊ฐ์๋ฅผ ๋ํ๋ด์ด ์ซ์๋ก ๋ง๋ค๊ณ ๋ค์ ๊ทธ ์ซ์๋ฅผ ๊ฐ์ ๊ท์น์ผ๋ก ๋ง๋ค๋ฉฐ ๋์ดํจ
1๋ถํฐ ์์๋๋ ๋์ด
1. 1 -> (1)
2. 11 -> (1์ด 1๊ฐ)
3. 12 -> (1์ด 2๊ฐ)
4. 1121 -> (1์ด 1๊ฐ 2๊ฐ 1๊ฐ)
5. 1321 -> (1์ด 3๊ฐ 2๊ฐ 1๊ฐ)
6. 122131 -> (1์ด 2๊ฐ 2๊ฐ 1๊ฐ 3์ด 1๊ฐ)
7. 132231 -> (1์ด 3๊ฐ 2๊ฐ 2๊ฐ 3์ด 1๊ฐ)- ์์ ๊ฐ์ด ์งํ๋๋ ๊ท์น์ ํตํด ์งํํ์ N์ ์ ๋ ฅ ๋ฐ์ผ๋ฉด ํด๋น๋๋ ์๋ฅผ ์ถ๋ ฅํด ๋ณด์
// ์ ๋ ฅ 6; // ์ถ๋ ฅ 122131;
๋ฏธ๋ฆฌ ์๊ฐํด ๋ด์ผํ ๊ฒ
- ๋ค์๊ณผ ๊ฐ์ ๊ณต์์ ์ด์ฉํด๋ณด์
// result์ 100๊น์ง์ string ์ซ์๊ฐ์ ๋์ ํด์ฃผ์ let result = ""; for (let i = 1; i <= 100; i++) { result += i; } console.log(result); // 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 // ์ ๊ทํํ์ ๊ท์น์ผ๋ก ์ ์ญ์ 8 ๊ฐ์ ์ถ์ถํ์ฌ ๊ธธ์ด๋ฅผ ํ์ฐํด์ค let re = new RegExp(8, "g"); console.log(result.match(re).length); // 20
๋ต
function solution(n) { let answer = "1"; if (n === 1) { return 1; } for (let i = 1; i < n; i++) { console.log(answer); answer = rule(answer); // ์ฝ๋ฐฑํจ์ rule์ ๋งค๊ฐ๋ณ์ answer๋ฅผ ๋ด๋๋ค. } return answer; } // ๋์ ๋๋ ๊ฐ๊ฐ์ ์์๋ค์ ๋ํ์ฌ function rule(answer) { let answerMax = 9; // ์ญ์ง๋ฒ์ผ๋ก ๋ํ๋ผ๊ฒ์ด๊ธฐ์ 9๋ก ํ๊ธฐํด์ค let result = ""; for (let i = 1; i < answerMax; i++) { let re = new RegExp(i, "g"); let count = (answer.match(re) || []).length; if (count >= 1) { result = result + String(i) + String(count); } } return result; } let num = 7; console.log(solution(num));
'๐ง codingtest > javascript 100์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌธ์ 95. ๋์ฅ์ฐ๊ธฐ (0) 2022.04.28 ๋ฌธ์ 86. ํ์ ์ด๋ฐฅ (0) 2022.04.27 ๋ฌธ์ 76. ์์ ํ ๋ (0) 2022.04.20 ๋ฌธ์ 74. ์ต์ฅ ๊ฒฝ๋ก ์ฐพ๊ธฐ (0) 2022.04.13 ๋ฌธ์ 73. ์ต๋จ ๊ฒฝ๋ก ์ฐพ๊ธฐ (0) 2022.04.12