[ 프로그래머스 ] 영어가 싫어요 ( JS )

2024. 7. 24. 20:07·Algorithm/Javascript

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

 

프로그래머스

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

programmers.co.kr

 


[ 문제 ]

 

[ 내 풀이 ]

function solution(numbers) {

	// 배열을 생성합니다.
    const numsArr = ["zero", "one", "two", "three", "four", "five",
                  "six", "seven", "eight", "nine"];
    
    // 각 숫자 단어를 실제 숫자로 변환합니다.
    numsArr.forEach((nums, idx) => {
    
    	// numbers 문자열에서 해당 숫자 단어를 찾아 실제 숫자로 대체합니다.
        // => 영어로 된 숫자를 기준으로 나눈 뒤, 실제 숫자를 넣어 대체하는 방식입니다.
        // "fourzerosix" 라면.. -> ["four", "six"] -> "four0six" 가 됩니다.
        numbers = numbers.split(nums).join(idx)
        
    })
    
    // 최종 변환된 문자열을 숫자로 변환하여 반환합니다.
    return Number(numbers);
    
}

 

[ 다른 풀이 ]

// replace, 콜백을 활용한 풀이
// replace의 두번째 인자로 콜백을 넣어 푼 방법입니다.

function solution(numbers) {

    const obj = {
        zero: 0, one: 1, two: 2, three: 3, four: 4,
        five: 5, six: 6, seven: 7, eight: 8, nine: 9
    };

    const num = numbers.replace(/zero|one|two|three|four|five|six|seven|eight|nine/g, (v) => {
        return obj[v];
    });

    return Number(num);
    
}
// reudce에서 엔덱스를 바받아오는 방식을 활용한 풀이

var solution=n=>Number(
        ['zero','one','two','three','four','five','six','seven','eight','nine']
        .reduce((t,s,i)=>t.replaceAll(s,i),n)
)

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Javascript' 카테고리의 다른 글

[ 프로그래머스 ] 숨어있는 숫자의 덧셈(2) ( JS )  (0) 2024.08.08
[ 프로그래머스 ] 인덱스 바꾸기 ( JS )  (0) 2024.07.25
[ 프로그래머스 ] 대문자와 소문자 ( JS )  (7) 2024.07.23
[ 프로그래머스 ] 암호 해독 ( JS )  (2) 2024.07.23
[ 프로그래머스 ] 369게임 ( JS )  (0) 2024.07.21
'Algorithm/Javascript' 카테고리의 다른 글
  • [ 프로그래머스 ] 숨어있는 숫자의 덧셈(2) ( JS )
  • [ 프로그래머스 ] 인덱스 바꾸기 ( JS )
  • [ 프로그래머스 ] 대문자와 소문자 ( JS )
  • [ 프로그래머스 ] 암호 해독 ( JS )
heee1
heee1
FE 개발자를 희망하는 임희원 입니다.
  • heee1
    heee1.blog
    heee1
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • Front-end (1)
        • Javascript (4)
        • Typescript (1)
        • React (0)
        • Next.js (1)
        • Tool (1)
        • Git (1)
        • Prettier (0)
        • Test-Framework (1)
        • Vercel (1)
      • 교육 (28)
        • 항해99 : 웹개발 종합반 18기 (14)
        • 프로젝트 캠프 : React 2기 (5)
        • 코드잇 스프린트 : 단기심화 5기 (9)
      • Algorithm (29)
        • Javascript (24)
        • Python (5)
      • 코드 보관함 (1)
        • 배치스크립트 ( .bat ) (1)
  • 블로그 메뉴

    • 홈
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    오블완
    스프린트
    jest
    코드잇
    JavaScript
    항해99
    테스트 프레임워크
    speed insights
    모킹
    til
    react-spring
    백준
    css animation
    next.js
    Python
    티스토리챌린지
    자바스크립트
    node.js
    tailwindcss
    Baekjoon
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
heee1
[ 프로그래머스 ] 영어가 싫어요 ( JS )
상단으로

티스토리툴바