본문 바로가기
코테연습

42. 숫자 문자열과 영단어

by hxunz 2022. 5. 12.

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

function solution(s) {
  let numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
  let answer = s;

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

  return Number(answer);

우선, numbers라는 배열에다가 0~9를 문자열로 넣어줬다.

let numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
 

그리고 for문을 돌면서 arr라는 곳에다가 주어진 s(answer)를 split(numbers[i]) 해주었다.

let arr = answer.split(numbers[i]);

이렇게 한 이유는 for문을 돌기 때문에 일치하는 영단어가 있으면 그것을 split()해주기 때문이다.

 

그 다음에는 위처럼 문자열로 정리해둔것을 숫자로 나타내기 위해서 join(i)를 사용했다.

answer = arr.join(i);
 

그리고 마지막에 리턴할때는 answer가 string이기 때문에 Number()처리를 해줬다.

return Number(answer);

 

 

 

 

 

처음에 작성했었던 계획,,

혼란스럽네,,, 

 

'코테연습' 카테고리의 다른 글

44. 없는 숫자 더하기  (0) 2022.05.13
43. 크레인 인형 뽑기 게임  (0) 2022.05.13
41. 로또의 최고순위와 최저순위  (0) 2022.05.11
40. 신규 아이디 추천  (0) 2022.05.05
39.Valid Parentheses  (0) 2022.04.28

댓글