본문 바로가기
프로그래머스 코딩 테스트

프로그래머스 : JavaScript 알고리즘 Level.1 1일

by dongjin6539 2023. 7. 5.
728x90
반응형

프로그래머스 : JavaScript 알고리즘 Level.1 1일

 

프로그래머스 : JavaScript 알고리즘 Level.1

 

 

1. 평균 구하기 : 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

function solution(arr) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
arr return
[1, 2, 3, 4] 2.5
[5, 5] 5

 

답 확인하기
const solution = (arr) => {
  
    var answer = 0;
    
    for(let i = 0; i < arr.length; i++) {
        answer += arr[i];
    }
    
    return answer/arr.length;
  
}

 

해설 확인하기

코드는 주어진 배열 arr의 모든 요소의 합을 구한 후, 배열의 길이로 나눈 평균값을 반환하는 함수입니다. 코드를 한 줄씩 분석해보겠습니다:

const solution = (arr) => { ... }: 화살표 함수 형태로 solution 함수가 정의됩니다. 이 함수는 arr을 입력으로 받습니다.

var answer = 0;: 결과를 저장할 변수 answer를 초기화합니다.

for(let i = 0; i < arr.length; i++) { ... }: 배열 arr의 각 요소에 대해 반복합니다.

answer += arr[i];: answer에 현재 요소 arr[i]를 더합니다.

return answer/arr.length;: answer를 배열 arr의 길이로 나눈 평균값을 반환합니다.

따라서, 해당 함수는 배열 arr의 모든 요소를 합한 후, 배열의 길이로 나눈 평균값을 반환합니다.

 

2. 나머지가 1이 되는 수 찾기 : 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

function solution(n) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
n result
10 3
12 11

 

답 확인하기
function solution(n) {
    let answer = 0;

        for (let i = 2; i < n; i++) {
            if (n % i === 1) {
                answer = i;
                break;
            }
        }

        return answer;
}

 

해설 확인하기

코드는 입력값 n에 대해 n보다 작은 수 중에서 n을 나누었을 때 나머지가 1인 첫 번째 수를 찾는 함수입니다. 코드를 한 줄씩 분석해보겠습니다:

function solution(n) { ... }: solution이라는 이름의 함수를 선언하고, 입력값 n을 받습니다.

let answer = 0;: 결과를 저장할 변수 answer를 초기화합니다.

for (let i = 2; i < n; i++) { ... }: 2부터 n까지의 수에 대해 반복합니다.

if (n % i === 1) { ... }: 현재 숫자 i로 n을 나누었을 때 나머지가 1인 경우를 확인합니다.

answer = i;: answer에 현재 숫자 i를 할당합니다.

break;: 조건을 만족하는 경우 반복문을 종료합니다.

return answer;: answer 값을 반환합니다.

따라서, 이 함수는 입력값 n보다 작은 수 중에서 n을 나누었을 때 나머지가 1인 첫 번째 수를 찾아 반환합니다. 만약 조건을 만족하는 수가 없을 경우 0을 반환합니다.

 

3. 짝수와 홀수 : 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.

function solution(num) {
    var answer = '';
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
num return
3 "Odd"
4
"Even"

 

답 확인하기
function solution(num) {
    var answer = '';
    if(num % 2 == 0){
        answer = "Even"
    } else {
        answer = "Odd"
    }
    return answer;
}

 

해설 확인하기

코드는 주어진 숫자 num이 짝수인지 홀수인지 판별하는 함수입니다. 코드를 한 줄씩 분석해보겠습니다:

function solution(num) { ... }: solution이라는 이름의 함수를 선언하고, 입력값 num을 받습니다.

var answer = '';: 결과를 저장할 변수 answer를 빈 문자열로 초기화합니다.

if(num % 2 == 0){ ... }: num을 2로 나눈 나머지가 0인 경우를 확인하여 짝수인지 판별합니다.

answer = "Even": num이 짝수인 경우, answer에 문자열 "Even"을 할당합니다.

else { ... }: 앞의 조건이 거짓인 경우, 즉 num이 홀수인 경우를 처리합니다

. answer = "Odd": num이 홀수인 경우, answer에 문자열 "Odd"을 할당합니다.

return answer;: answer 값을 반환합니다.

따라서, 이 함수는 입력값 num이 짝수인 경우 "Even"을, 홀수인 경우 "Odd"를 반환합니다.

 

4. 약수의 합 : 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

function solution(n) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
n return
12 28
5 6

 

답 확인하기
function solution(n) {
    let answer = 0;
    for (let i = 1; i <= n; i++) {
        if (n % i === 0) answer += i;
    }
    return answer;
}

 

해설 확인하기

코드는 주어진 숫자 n의 약수들의 합을 구하는 함수입니다. 코드를 한 줄씩 분석해보겠습니다:

function solution(n) { ... }: solution이라는 이름의 함수를 선언하고, 입력값 n을 받습니다.

let answer = 0;: 결과를 저장할 변수 answer를 초기화합니다.

for (let i = 1; i <= n; i++) { ... }: 1부터 n까지의 수에 대해 반복합니다.

if (n % i === 0) { ... }: n을 i로 나눈 나머지가 0인 경우를 확인하여 i가 n의 약수인지 판별합니다.

answer += i;: i가 n의 약수인 경우, answer에 i를 더합니다.

return answer;: 약수들의 합인 answer를 반환합니다.

따라서, 이 함수는 입력값 n의 약수들의 합을 구하여 반환합니다.

728x90
반응형