[자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 51~55문제

51. 중복된 문자 제거

https://school.programmers.co.kr/learn/courses/30/lessons/120888?language=javascript 

 

프로그래머스

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

programmers.co.kr

function solution(my_string) {
    let answer = []
    for (i of my_string) {
        if (answer.includes(i)) {
            continue
        } else {
            answer.push(i)
        }
    }
    return answer.join('')
}

다른 사람 풀이

function solution(my_string) {
    return[...new Set(my_string)].join('')
}

이 형태 기억해 둘 것.

 

 

 

 

52. 팩토리얼

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

function solution(n) {
    let answer = 1;
    for (let i = 1;i<=10;i++) {
        answer *= i
        if (answer > n) {
            return i-1
        } else if (answer === n) {
            return i
        }
    }
}

다른 사람 풀이

function solution(n) {
    let i = 1;
    let f = 1;
    while (f*i < n) f*=++i;
    return i;
}

완전 간단하다..

 

 

 

 

53. A로 B 만들기

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

function solution(before, after) {
    before = [...before].sort().join('')
    after = [...after].sort().join('')
    return before === after ? 1 : 0
}
function solution(before, after) {
    return [...before].sort().join('') === [...after].sort().join('') ? 1 : 0
}

한 줄로 만들면 이렇게

 

 

 

 

54. 2차원으로 만들기

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

function solution(num_list, n) {
    let answer = [];
    let cnt = 0
    for (let i=n; i<=num_list.length; i+=n) {
        answer.push(num_list.slice(cnt,i));
        cnt += n
    }
    return answer
}

 

 

 

 

55. 가까운 수

https://school.programmers.co.kr/learn/courses/30/lessons/120890?language=javascript 

 

프로그래머스

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

programmers.co.kr

function solution(array, n) {
    array.sort((a,b)=>a-b)
    let list = array.map(abs => Math.abs(abs-n))
    return array[list.indexOf(Math.min(...list))]
}
comment