프로그래머스 : 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의 약수들의 합을 구하여 반환합니다.