숫자 문자열과 영단어

김현민·2021년 9월 14일
0

Algorithm

목록 보기
79/126
post-thumbnail

내 코드

function solution(s) {
  var answer = 0
  const words = [
    "zero",
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "nine",
  ]


    for (let i = 0; i < words.length; i++) {
      for (let j = 0; j < words.length; j++) {
        if (s.indexOf(words[j]) != -1) {
          let res = words[j]
          s = s.replace(res, j)
        }
      }
    }
    answer = Number(s)
}

똑같은 단어가 뒤에 또 나오는 경우에 대비하기 위해 for문을 한번 더 사용함.
replace를 사용해서 숫자(index)로 바꾸기를 반복함



다른사람의 코드


function solution(s) {

  var answer = 0
const words = [
    "zero",
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "nine",
  ]
var answer = s

  for (let i = 0; i < words.length; i++) {
    let arr = answer.split(words[i])
    answer = arr.join(i)
  }
  return answer
}

위의 글자 기준으로 split하고 split된 index를 그대로 answer에 join

split으로도 바로 단어를 찾을 수 있었구나..

profile
Jr. FE Dev

0개의 댓글