๐ ๋ฌธ์ ์ค๋ช
๋ค์ค์ ํ๋ก๋๊ฐ ์ซ์๋์ด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ค์ค๊ฐ ํ๋ก๋์๊ฒ ์ซ์๋ฅผ ๊ฑด๋ฌ ๋ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พผ ์นด๋๋ฅผ ๊ฑด๋ค์ฃผ๋ฉด ํ๋ก๋๋ ์๋ ์ซ์๋ฅผ ์ฐพ๋ ๊ฒ์์
๋๋ค.
๋ค์์ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พธ๋ ์์์
๋๋ค.
1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
์ด๋ ๊ฒ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๊ฐ ์๋จ์ด๋ก ๋ฐ๋์ด์ก๊ฑฐ๋, ํน์ ๋ฐ๋์ง ์๊ณ ๊ทธ๋๋ก์ธ ๋ฌธ์์ด s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. s๊ฐ ์๋ฏธํ๋ ์๋ ์ซ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ฐธ๊ณ ๋ก ๊ฐ ์ซ์์ ๋์๋๋ ์๋จ์ด๋ ๋ค์ ํ์ ๊ฐ์ต๋๋ค.
์ซ์ | ์๋จ์ด |
---|---|
0 | zero |
1 | one |
2 | two |
3 | three |
4 | four |
5 | five |
6 | six |
7 | seven |
8 | eight |
9 | nine |
๐ ์ ํ์ฌํญ
- 1 ≤ s์ ๊ธธ์ด ≤ 50
- s๊ฐ "zero" ๋๋ "0"์ผ๋ก ์์ํ๋ ๊ฒฝ์ฐ๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- return ๊ฐ์ด 1 ์ด์ 2,000,000,000 ์ดํ์ ์ ์๊ฐ ๋๋ ์ฌ๋ฐ๋ฅธ ์ ๋ ฅ๋ง s๋ก ์ฃผ์ด์ง๋๋ค.
๐ ์ ์ถ๋ ฅ ์
s | result |
---|---|
one4seveneight | 1478 |
23four5six7 | 234567 |
2three45sixseven | 234567 |
123 | 123 |
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค
์ ์ถ๋ ฅ ์ #2
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค
์ ์ถ๋ ฅ ์ #3
- "three"๋ 3, "six"๋ 6, "seven"์ 7์ ๋์๋๊ธฐ ๋๋ฌธ์ ์ ๋ต์ ์
์ถ๋ ฅ ์ #2์ ๊ฐ์ 234567์ด ๋ฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2์ #3๊ณผ ๊ฐ์ด ๊ฐ์ ์ ๋ต์ ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๊ฐ์ง๊ฐ ๋์ฌ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #4
- s์๋ ์๋จ์ด๋ก ๋ฐ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
๐ง ํ์ด
function solution(s) {
const numberWords = {
"zero": 0,
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
"six": 6,
"seven": 7,
"eight": 8,
"nine": 9
};
let answer = [];
let arr = s.split("");
let temp = [];
for (let e of arr) {
if (!isNaN(e)) {
answer.push(+e);
temp = [];
} else {
temp.push(e);
let word = temp.join("");
if (numberWords[word] !== undefined) {
answer.push(numberWords[word]);
temp = [];
}
}
}
return Number(answer.join(""));
}
๐ก ์๊ฒ ๋ ์
- ๊ฐ์ฒด (Object) ์๋ฃํ์ {"์์ฑ": "๊ฐ"...} ์ ํํ๋ก ๋์ด ์๋ค.
- NaN (Not a Number)๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ซ์๊ฐ ์๋ ๊ฐ์ ๋ํ๋ธ๋ค.
- ์ซ์๋ก ๋ณํํ ์ ์๋ ๊ฐ์ ์ฐ์ฐํ ๋ 'NaN'์ด ๊ฒฐ๊ณผ๋ก ๋์ค๋ ๊ฒ์ด๋ค.
- NaN์ ์์ ๊ณผ๋ ๊ฐ์ง ์๋ค.
- NaN์ Boolean ์ปจํ ์คํธ์์ false๋ก ํ๊ฐ๋๋ค.
- isNaN ํจ์๋ฅผ ํตํด ๋ฌธ์์ด์ธ์ง, ์ซ์๊ฐ ๋ฌธ์์ดํ๋๊ฑด์ง ํ์ธํ ์ ์๋ค.
- ๊ฐ์ฒด[์์ฑ]์ ํตํด ๊ฐ์ฒด ์ ์์ฑ์ ํด๋นํ๋ ๊ฐ์ ํ์ธํ ์ ์๊ณ ,
- object[key] !== undefined๋ฅผ ํตํด, ๊ฐ์ฒด ์์ ํด๋น ์์ฑ์ด ์๋์ง ํ์ธํ ์ ์๋ค.
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (์นด์นด์ค ๋ฌธ์ , LV1) (1) | 2024.06.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํจ์จ (์นด์นด์ค ๋ฌธ์ , LV1) (0) | 2024.05.31 |
[ํ๋ก๊ทธ๋๋จธ์ค] N์ง์ ๊ฒ์ (์นด์นด์ค ๋ฌธ์ , LV2) (0) | 2024.05.28 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค์์ ์ฌ ์ซ์ (0) | 2023.04.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฐ์๋ ์์ ํฉ (0) | 2023.04.20 |