✏️기록하는 즐거움
article thumbnail
반응형

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. |  제출

<javascript />
function solution(s) { let numArr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]; let answer = s; for(let i = 0; i < numArr.length; i++) { let arr = answer.split(numArr[i]); answer = arr.join(i); } return Number(answer); }

 

2. |  풀이과정

문자열로 표현된 부분을 알맞은 숫자로 변경하여 전체 숫자를 리턴하는 문제이다.

 

1) 숫자에 맞는 문자열 표현식을 numArr 이라는 배열에 담는다.

2) numArr의 각 요소를 기준으로 split 한 뒤, 배열의 index로 join을 해주면 된다.

 

문자열 s가 "one4seveneight" 일 때, for문 안에서 arr과 answer를 콘솔에 출력해보면 다음과 같다.

<javascript />
for(let i = 0; i < numArr.length; i++) { let arr = answer.split(numArr[i]); answer = arr.join(i); console.log(arr); console.log(answer); } // i가 1일 때 // [ '', '4seveneight' ] // "14seveneight"

 

3. |  개념

3.1. String.prototype.split()

  • String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다.
  • 구분자가 빈 문자열일 경우 str의 각각의 문자가 배열의 원소 하나씩으로 변환된다.

3.2. Array.prototype.join()

  • 배열의 모든 요소를 연결해 하나의 문자열로 만든다.
  • 괄호 안에는 각 요소를 구분할 문자열을 지정한다.

 

반응형
profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!