알고리즘 문제

[20일차] JS 프로그래머스 LV.1

잼굴 2023. 1. 25. 10:47

문제 1. K번째 수

 

풀이순서 :

1. array.slice로 commands요구 사항에 맞춰서 자른다.

2. 오름차순으로 정렬한다.

3. commands 요구사항에 맞는 값을 push한다

 

function solution(array, commands) {
    var answer = [];
    
    for(i=0; i<commands.length; i++){
       let arrayslice = array.slice(commands[i][0]-1, commands[i][1]);
        arrayslice.sort((a,b)=>a-b);
        answer.push(arrayslice[commands[i][2]-1])
    }
    return answer;
}

 

문제 2. 숫자 문자열과 영단어

 

 

 

풀이순서 

1. replace를 사용해서 영단어를 숫자로 변경한다.

2. 정규표현식을 사용한다. /gi    /g = 모든 패턴검색,  /i는 대소문자구분X

3. parseInt보다는 Number가 조금 더 빠름

function solution(s) {
  s = s
    .replace(/zero/g, 0)
    .replace(/one/g, 1)
    .replace(/two/g, 2)
    .replace(/three/g, 3)
    .replace(/four/g, 4)
    .replace(/five/g, 5)
    .replace(/six/g, 6)
    .replace(/seven/g, 7)
    .replace(/eight/g, 8)
    .replace(/nine/g, 9);
  return Number(s);
}