문제(출처: 프로그래머스)

영어 대소문자로 이루어진 문자열 my_string 이 매개변수로 주어질 때, my_string 을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.

 

▶ 내가 푼 방식

function solution(my_string) {
    var answer = my_string.toLowerCase();
    answer = [...answer].sort()
    return answer.join('');
}

제출이 안되네... 나중에 다시 제출해보자

 

 다른 유저가 푼 방식

// 유저 1
function solution(s) {
    return [...s.toLowerCase()].sort().join('')
}

 

 배운 것들

     - 

문제(출처: 프로그래머스)

정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

 

▶ 내가 푼 방식

function solution(num, k) {
    var answer = Array.from(num.toString());
    const kIndex = answer.indexOf(k.toString())
    return kIndex === -1 ? kIndex : kIndex +1
}

function solution(num, k) {
    var answer = Array.from(num.toString());
    if(answer.indexOf(k.toString()) === -1){
        return -1
    }
    else{
        return answer.indexOf(k.toString()) + 1
    }
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(num, k) {
    return num.toString().split("").map((el) => Number(el)).indexOf(k) + 1 || -1
}

// 유저 2
function solution(num, k) {
    let ind = (''+num).indexOf(k);
    return ind === -1 ? -1 : ind+1;
}

 

 배운 것들

     - k가 존재하지 않아서 -1이 반환되면 -1+1 = 0 => flase 로 인식하여 -1 반환  

     - array에서 뿐만 아니라 string 에서도 indexOf 가 가능

문제(출처: 프로그래머스)

정수  n 이 매개변수로 주어질 때, n 의 약수를 오름차순으로 담은 배열을 return 하도록 solution 함수를 완성해주세요.

 

▶ 내가 푼 방식

function solution(n) {
    var answer = [];
    for(let i = 1 ; i <= n; i++ ){
        if (n%i === 0){
            answer.push(i)
        }
    }
    return answer;
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(n) {
    return Array(n).fill(0).map((v, index) => v+index+1).filter((v) => n%v===0);
}

 

 배운 것들

     - 만약에 n = 10 이면, Array(n).fill(0) →[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 을 생성

 

문제(출처: 프로그래머스)

우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이  age 가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.

 

▶ 내가 푼 방식

function solution(age) {
    const aASCII  = 97
    let answer = age.toString().split('')
    return answer.map(i=> String.fromCharCode(Number(i) +aASCII)).join('');
}

 

 다른 유저가 푼 방식

// 유저 1 : 문자열의 인덱스를 이용
function solution(age) {
  return age
    .toString()
    .split("")
    .map((v) => "abcdefghij"[v])
    .join("");
}


// 유저 2
function solution(age) {
    let char = 'abcdefghij'
    return Array.from(age.toString()).map(t => char[+t]).join('');
}

// 유저 3

 

 배운 것들

     -  Array.from(age.toString())  와 age.toString().split('') 가 같은 결과를 만든다.

     - 

문제(출처: 프로그래머스)

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

 

▶ 내가 푼 방식

function solution(n) {
    let answer = n.toString().split('').map(Number);
    return  answer.reduce((a,b) => a+b,0);
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(n) {
  return n
    .toString()
    .split("")
    .reduce((acc, cur) => acc + Number(cur), 0);
}

 

 배운 것들

     -  .toString()

     -  array.reduce( (accumulater, currentValue) => accumulater + currentValue, initialValue);

+ Recent posts