Koras02
Koras02코딩웹
Koras02
전체 방문자
오늘
어제
  • 분류 전체보기 (299)
    • 백엔드 (59)
      • nestjs (2)
      • Ruby (3)
      • PostgresQL (11)
      • MySQL (5)
      • Haskell (7)
      • Koa (3)
      • Java (3)
      • Python (5)
      • Rust (5)
      • MongoDB (2)
      • PHP (3)
      • Spring Boot (1)
      • redis (5)
      • deno (2)
    • 웹서버 (3)
      • nginx (1)
      • Apache (2)
      • Google Web Server (0)
    • 모바일개발 (5)
      • Figma (0)
      • React Native (2)
      • swift (0)
      • Flutter (3)
      • Kotlin (0)
    • 프론트 엔드 (158)
      • HTML (34)
      • CSS (7)
      • Javascript (35)
      • Angular (0)
      • Typescript (2)
      • React (58)
      • Vue (2)
      • GIT (6)
      • GraphQL (1)
      • Doker (4)
      • Go (8)
      • svelte (1)
      • gatsby (0)
    • etc. (47)
      • Notion (0)
      • TIL (24)
      • Algorithm (17)
      • Algorithm 개념 정리 (2)
      • Wiki (3)
      • Official document (1)
    • 웹개념 (12)
    • 변수정리 (1)
    • VSCode (2)
    • 포트폴리오 분석 (2)
      • React (2)
    • os (5)
      • 윈도우 (4)
      • Mac (0)
      • 가상머신 (0)
      • linux (1)
    • 응용프로그램언어 (2)
      • C (2)
      • C++ (0)
      • C# (0)
    • 블로그 운영관련 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
글쓰기

공지사항

  • [공지사항] 개발 이슈나 공식문서 업데이트 업로드 예정입니⋯

인기 글

태그

  • mysql
  • Haskell
  • html
  • 데이터 타입
  • javascript
  • Rust
  • React
  • Flutter
  • 알고리즘
  • html5
  • go
  • CSS
  • 문자열
  • 프로그래머스
  • 하스켈
  • Java
  • redis
  • Til
  • PostgreSQL
  • koa

티스토리

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
Koras02

Koras02코딩웹

[알고리즘 테스트] 숫자 문자열과 영단어
etc./Algorithm

[알고리즘 테스트] 숫자 문자열과 영단어

2022. 1. 13. 09:20
728x90

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도엑 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 

 

건네주면 프로도는 원래 숫자를 찾는 게임입니다.

 

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

  • 1478 = 'one4seveneight'
  • 234567 = '23foursix7'
  • 10203 -> "1zerotwozero3"

이렇게 숫자의 일부 자릿수가 영단어로 바뀌거나, 혹은 바뀌지 않고 그대로인 문자열 's'가 매개변수로 주어집니다.

's'가 의미하는 원래 숫자를 return하도록 solution 함수를 완성하세요

function solution(s) {
    // answer값을 기본 0으로 선언
    let answer = 0;
    
    // s라는 매개변수에 숫자를 여단어로 return 해줌
    s = s.replace(/zero/g, 0);
    s = s.replace(/one/g, 1);
    s = s.replace(/two/g, 2);
    s = s.replace(/three/g, 3);
    s = s.replace(/four/g, 4);
    s = s.replace(/five/g, 5)
    s = s.replace(/six/g, 6);
    s = s.replace(/seven/g,7);
    s = s.replace(/eight/g, 8);
    s = s.replace(/nine/g, 9);
    
    // 선언한 answer Number String으로 변환후 숫자를 영단어로 return해준 s로 선언
    answer = Number(s);
    
    return answer;
}

실행 결과

테스트 1
입력값 〉	"one4seveneight"
기댓값 〉	1478
실행 결과 〉	테스트를 통과하였습니다.
테스트 2
입력값 〉	"23four5six7"
기댓값 〉	234567
실행 결과 〉	테스트를 통과하였습니다.
테스트 3
입력값 〉	"2three45sixseven"
기댓값 〉	234567
실행 결과 〉	테스트를 통과하였습니다.
테스트 4
입력값 〉	"123"
기댓값 〉	123
실행 결과 〉	테스트를 통과하였습니다

 

For문을 사용한 방법

function solution(s) {
    
    // numbers라는 변수로 선언해서 객체 형태로 숫자 문자열을 선언
    let numbers = ["zero", "one", "two", "three", "four","five", "six", "seven", "eight", "nine"];
    // answer 값을 solution으로 대입 
    let answer = s;
    
    
    // for문을 사용해 number의 길이를 하나씩 늘려줌
    for (let i = 0; i < numbers.length; i++) {
        // let arr 로 answer로 선언한 숫자 배열을 하나씩 분리 
        let arr = answer.split(numbers[i]);
        answer = arr.join(i);
    }
    
    return Number(answer)
}

 

참고 자료

 

[프로그래머스] 숫자 문자열과 영단어 - JavaScript

2021 카카오 채용연계형 인턴십

velog.io

 

'etc. > Algorithm' 카테고리의 다른 글

[알고리즘 테스트] 완주하지 못한 선수  (0) 2022.01.13
[알고리즘 테스트] 부족한 금액 계산하기  (0) 2022.01.13
[알고리즘 테스트] Javascript 신규 아이디 추천  (0) 2022.01.12
    'etc./Algorithm' 카테고리의 다른 글
    • [알고리즘 테스트] 위장
    • [알고리즘 테스트] 완주하지 못한 선수
    • [알고리즘 테스트] 부족한 금액 계산하기
    • [알고리즘 테스트] Javascript 신규 아이디 추천
    Koras02
    Koras02
    현재 사용중인 언어 - next-js,react,vue, typescript

    티스토리툴바