ํฐ์คํ ๋ฆฌ ๋ทฐ
[2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ]์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด
choi95 2021. 8. 20. 14:56๋ฌธ์
๋ค์ค์ ํ๋ก๋๊ฐ ์ซ์๋์ด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ค์ค๊ฐ ํ๋ก๋์๊ฒ ์ซ์๋ฅผ ๊ฑด๋ฌ ๋ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พผ ์นด๋๋ฅผ ๊ฑด๋ค์ฃผ๋ฉด ํ๋ก๋๋ ์๋ ์ซ์๋ฅผ ์ฐพ๋ ๊ฒ์์
๋๋ค.
๋ค์์ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พธ๋ ์์์
๋๋ค.
- 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๋ก ์ฃผ์ด์ง๋๋ค.
์ ์ถ๋ ฅ ์
sresult
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #3
- "three"๋ 3, "six"๋ 6, "seven"์ 7์ ๋์๋๊ธฐ ๋๋ฌธ์ ์ ๋ต์ ์ ์ถ๋ ฅ ์ #2์ ๊ฐ์ 234567์ด ๋ฉ๋๋ค.
- ์ ์ถ๋ ฅ ์ #2์ #3๊ณผ ๊ฐ์ด ๊ฐ์ ์ ๋ต์ ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๊ฐ์ง๊ฐ ๋์ฌ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #4
- s์๋ ์๋จ์ด๋ก ๋ฐ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
์ ํ์๊ฐ ์๋ด
- ์ ํ์ฑ ํ ์คํธ : 10์ด
๋ฌธ์ ํ์ด
- ์ ๊ทํํ์์ ์ฌ์ฉํ์ฌ ์ซ์์ ๋ฌธ์๋ฅผ ๊ตฌ๋ถ
- ๊ตฌ๋ถ๋ ๋ฌธ์๋ฅผ ์์ ๋ฐฐ์ด์ ์ ์ฅ
- ํด๋น ์์ ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ฐ๊พผ ๋ค ์๋จ์ด ๋ฐฐ์ด ๋ด์ ํฌํจ๋์ด ์๋์ง ์๋ณ
- ์๋ณํ ๊ฒฐ๊ณผ ๊ฐ์ด true์ผ ๊ฒฝ์ฐ ํด๋น ๋ฌธ์์ด์ ์ธ๋ฑ์ค๋ฅผ ๋ฌธ์๋ก ๋ฐํํ์ฌ ์์ ๋ ๋ฌธ์์ด์ ์ถ๊ฐ
์ฝ๋
function solution(s) {
var answer = 0;
let nums = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
let regExp = /[a-z]/;
let newS = "";
let tmp = [];
for(let i = 0; i < s.length; i++) {
if(regExp.test(s[i])) {
tmp.push(s[i]);
if(nums.includes(tmp.join(''))) {
newS += nums.indexOf(tmp.join('')).toString();
tmp = [];
}
}
else newS += s[i];
}
answer = Number(newS);
return answer
๋ค๋ฅธ ์ฌ๋ ํ์ด
function solution(s) {
let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var answer = s;
for(let i=0; i< numbers.length; i++) {
let arr = answer.split(numbers[i]);
answer = arr.join(i);
}
return Number(answer);
}
split์ ๊ตฌ๋ถ ๊ธฐ๋ฅ๊ณผ join์ ์ฐ๊ฒฐ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ๋ฌธ์๋ฅผ ๋ณํํ ์ ์๋ค๋ ๊ฒ์ด ์ฐธ์ ํ์ฌ ํฌ์คํ ํด๋ณธ๋ค.
- String.prototype.split ์ฌ์ฉ: [" ", "4seveneight]๋ก ๋ถ๋ฆฌ ๋ ๋ฐฐ์ด ๋ฐํ
- Array.prototype.join ์ฌ์ฉ: ์์์ ์์ ์ฌ์ด ๊ฐ ์ซ์ 1์ ์ถ๊ฐํ ์๋ก์ด ๋ฌธ์์ด "14seveneight" ๋ฐํ
'์๊ณ ๋ฆฌ์ฆ > ๊ธฐ์ถ ๋ฐ ๋ฐฑ์ค ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 9093๋ฒ]๋จ์ด ๋ค์ง๊ธฐ (0) | 2021.08.24 |
---|---|
[๋ฐฑ์ค 10828๋ฒ]์คํ (0) | 2021.08.24 |
[2021 KAKAO BLIND RECRUITMENT]์ ๊ท ์์ด๋ ์ถ์ฒ_์ ๊ท ํํ์์ ๋ํด (0) | 2021.08.19 |
๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2021.08.18 |
[๋ ์ ์๊ณ ๋ฆฌ์ฆ]์ต๋ ์ ์ ๊ตฌํ๊ธฐ/ํ๋ฒํ ๋ฐฐ๋ญ ๋ฌธ์ (0) | 2021.08.17 |