기초부터 시작하는 코딩/Programmers

Programmers 문제를 풀어봅시다. Day8

kebab00 2023. 5. 25. 23:56

728x90

1. 외계행성의 나이

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

정답은

function solution(age) {
    let alpha = ['a','b','c','d','e','f','g','h','i','j'];
    let answer = '';
    age = age.toString();
    
    for (let i = 0; i < age.length; i++) {
        answer += alpha[age[i]];
    }
    return answer;
}

2. 진료 순서 정하기

- 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.

정답은

function solution(emergency) {
  let answer = new Array(emergency.length).fill(1);
  for (let i = 0; i < emergency.length; i++) {
    emergency.map((v) => {
      if (emergency[i] < v) answer[i]++;
    });
  }
  return answer;
}

3.  진료 순서 정하기

- 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

정답은

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

끝!