페블_
반짝이는 시냅스
페블_
전체 방문자
오늘
어제
  • 전체글 보기 (96)
    • QA (0)
    • 프로젝트 회고 (4)
    • 프로젝트 과정 기록 (12)
    • UI 구현 연구일지 (8)
    • Front-end (31)
      • Javascript (7)
      • CSS (10)
      • React (5)
      • Typescript (3)
      • Nextjs (3)
      • 스타일링 라이브러리 (3)
    • Back-end (0)
      • Express (0)
      • DB (0)
    • CS (0)
      • 자료구조 & 알고리즘 (0)
    • CI&CD (1)
    • 툴 사용법 (4)
      • Git (1)
      • Library&패키지 (2)
      • 기타 개발관련 (1)
    • 알고리즘 이론 & 풀이 (36)
      • 백준(BOJ) (14)
      • 프로그래머스 (22)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • eslint
  • TypeScript
  • JS
  • chartjs
  • 시리즈_표지
  • UI 컴포넌트
  • 캐러셀
  • Python
  • 백준
  • 선형대수학
  • 개발블로그_시작
  • 생각
  • storybook
  • emotion
  • 토이프로젝트
  • 알고리즘
  • react
  • 파이썬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
페블_

반짝이는 시냅스

알고리즘 이론 & 풀이/프로그래머스

프로그래머스 Lv.0 | 영어가 싫어요 js

2023. 8. 6. 16:49

문제

https://school.programmers.co.kr/learn/courses/30/lessons/120894

 

 

 

풀이

function solution(numbers) {
    const numberList = {
        zero: 0, one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9
    };
    Object.entries(numberList).forEach(([key, value]) => {
        numbers = numbers.split(key).join(value);
    });
    return Number(numbers);
}
  1. 객체에 문자열과 숫자를 쌍으로 넣어놓는다.
  2. Object.entries로 순회하며 key, value를 이용해 문자열을 기준으로 split한 다음, 조각난 문자열을 value로 이어주면 문자열이 숫자로 대체된다.
  3. 결과물은 문자열이기 때문에 Number()로 숫자로 바꿔준다.

 

약간 아쉬운 점

풀고보니 굳이 Object로 문자열을 넣을 필요 없이 배열에 넣었어도 괜찮겠다는 생각이 들었다.

0번 인덱스부터 zero, one, ... 으로 들어가니까 굳이 object에 key, value 쌍으로 일일이 문자열, 숫자를 넣지 않고 그냥 for문과 index를 이용해 숫자 대체를 했으면 어떨까 하는 생각이 든다.

 

다른 가능한 풀이들에 대해 생각

  1. 배열에 zero, one, ... 문자열을 넣어놓는다. 바깥쪽 for문에서는 zero, one, ... 배열을 순회하고, 내부에서는 while문으로 indexOf가 -1이 아닐 때까지 반복하며 indexOf()에 해당하는 위치의 문자를 substring 등의 함수를 이용해 대치한다.
  2. zero, one, ...이 들어있는 배열을 순회하며 replaceAll('배열의 단어', 'index') 처럼 단어를 숫자로 바꾸는 작업을 한다.

'알고리즘 이론 & 풀이 > 프로그래머스' 카테고리의 다른 글

프로그래머스 Lv.1 | 완주하지 못한 선수 js  (0) 2023.08.08
프로그래머스 Lv.1 | 폰켓몬 js  (0) 2023.08.08
프로그래머스 Lv.0 | 소인수분해  (0) 2023.07.19
프로그래머스 Lv.0 | 이진수 더하기  (0) 2023.07.09
프로그래머스 Lv.0 | 문자열 계산하기  (0) 2023.07.08
    '알고리즘 이론 & 풀이/프로그래머스' 카테고리의 다른 글
    • 프로그래머스 Lv.1 | 완주하지 못한 선수 js
    • 프로그래머스 Lv.1 | 폰켓몬 js
    • 프로그래머스 Lv.0 | 소인수분해
    • 프로그래머스 Lv.0 | 이진수 더하기
    페블_
    페블_

    티스토리툴바