문제 1

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.

 

▶ 내가 푼 방식

//내가 작성한 코드
function solution(array, n) {
    return array.filter((a) => a === n ).length;
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(array, n) {
    var answer = 0;
    for(var i = 0; i < array.length; i++){
        if(array[i] == n){
            answer++
        }
    }
    return answer;
}

// 유저 2
function solution(array, n) {
    return array.reduce((prev, curr) => {
        if(curr === n) prev++;
        return prev;
    }, 0);
}

// 유저 3
function solution(array, n) {
    var answer = 0;
    let mapArr = array.map((x) => {
        if(x === n){
        return  answer++
        }
    });
    return answer;
}

 

 배운 것들

     -  무

문제

문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요.

 

▶ 내가 푼 방식

//내가 작성한 코드

function solution(strlist) {
    var answer = [];
    for( let i of strlist){
        answer.push(i.length)
    }
    return answer;
}

// 간단한 버전
const solution = strlist => strlist.map(i => i.length);

 

 다른 유저가 푼 방식

// 유저 1
function solution(strlist) {
	return strlist.map(i => i.length)
}

// 유저 2 : reduce 이용
function solution(strlist) {
    return strlist.reduce((a, b) => [...a, b.length], [])
}

// 유저 3 : foreach 이용
function solution(strlist) {
    var answer = [];
    strlist.forEach(el=>answer.push(el.length))
    return answer;
}

 

 배운 것들

     - reduce

array.reduce(function(accumulator, currentValue, currentIndex, array), initialValue)

 

문제 내용

정수 number와 n, m이 주어집니다.
number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.

 

▶ 내가 푼 방식

//내가 작성한 코드
function solution(number, n, m) {
    if (number % n ===0 && number % m === 0){
        return 1;
    }
    if (number % n !==0 || number % m !== 0){
        return 0;
    }
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(number, n, m) {
  return +!(number % n || number % m);
}

// 유저 2
function solution(number, n, m) {
    return (number%n ===0) ? (number%m===0) ? 1 : 0 : 0;
}

// 유저 3
function solution(number, n, m) {
    return number % n === 0 && number % m === 0 ? 1 : 0
}

 

 배운 것들

     -  삼항 연산자 복습

const result = (조건식) ? (참일 때의 값) : (거짓일 때의 값)

문제 내용

두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.

 

▶ 내가 푼 방식

//내가 작성한 코드
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];
// 입력 값이 두개 일때
rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    str1 = input[0];
    str2 = input[1];
    console.log(`${str1}${str2}`) ;
});

 

 다른 유저가 푼 방식

// 유저 1
rl.on('line', function (line) {
  input = line.split(' ');
}).on('close', function () {
  console.log(input.join(''));
});

// 유저 2
rl.on('line', function (line) {
    const strArr = line.split(' ')
    console.log(strArr.join(''))
})

 

 배운 것들

     - join을 깜빡했다.   

     - readline 모듈 : 콘솔에서 입력을 받을 수 있도록 해주는 모듈

const readline = require('readline'); // 모듈 호출
const rl = readline.createInterface({
	// 입출력을 위한 인터페이스 객체 생성
    input: process.stdin,
    output: process.stdout
});

// 공백을 기준으로 입력 값 받기
let input = [];

// 입력 값이 한 줄일 때
rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    // input 에 담긴 값을 이용하여 원하는 기능을 위한 코드 입력
});

// 입력 값이 여러 줄인 경우
rl.on('line', function (line) {
    //input.push(...line.split(' '));
    
    const inputValues = line.split(' ');
    inputValues.foreach(value => {
    	input.push(value);
    })
}).on('close', function () {
	// input 에 담긴 값을 이용하여 원하는 기능을 위한 코드 입력
});

문제 1

정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.

 

▶ 내가 제출한 답

function solution(num, n) {
    var answer = 0;
    if ((num % n) === 0){
        answer = 1;
    }
    if ((num % n) !== 0){
        answer = 0;
    }
    return answer;
}

 

 다른 유저들의 답

// 다른 사람들의 답 1
function solution(num, n) {
    return num%n===0?1:0;
}

// 다른 사람들의 답 2
function solution(num, n) {
    return num % n ? 0 : 1
}

// 다른 사람들의 답 2
const solution = (num, n) => num % n === 0 ? 1 : 0

 

  배운 내용

 간결하게 표현하기 위해 삼항연산자 혹은 화살표 함수를 사용하면 된다.

+ Recent posts