프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 답
[pseudo code]
1. {num : 숫자, str: "number"} obj 리스트 생성
2. obj 리스트를 돌면서 s가 obj[i].str을 가지고 있으면, replaceAll을 사용해서 바꿔주기
3. parseInt(s)
function solution(s) {
const obj = [
{ num: 0, str: "zero" },
{ num: 1, str: "one" },
{ num: 2, str: "two" },
{ num: 3, str: "three" },
{ num: 4, str: "four" },
{ num: 5, str: "five" },
{ num: 6, str: "six" },
{ num: 7, str: "seven" },
{ num: 8, str: "eight" },
{ num: 9, str: "nine" },
];
for (let i = 0; i < obj.length; i++) {
if (s.includes(obj[i].str)) {
s = s.replaceAll(obj[i].str, obj[i].num);
}
}
return parseInt(s);
}
console.log(solution("one4seveneight"));
console.log(solution("23four5six7"));
console.log(solution("2three45sixseven"));
console.log(solution("123"));
console.log(solution("12345678901234567890123456789012345678901234567890"));
인상적인 다른 사람의 답
// str 배열만 사용해서 푼 인상적인 답안
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);
}
'항해99_10기 > [2주차] 알고리즘 문제풀이' 카테고리의 다른 글
[24번][중급] 신규 아이디 추천 (0) | 2022.11.23 |
---|---|
[23번][중급] 시저암호 (0) | 2022.11.23 |
[31번][중급] 소수 찾기 (0) | 2022.11.23 |
[21번] [중급] 소수 만들기 (0) | 2022.11.22 |
[20번] [중급] 문자열 내림차순으로 배치하기 (0) | 2022.11.22 |