코딩테스트 연습(Lv0 / 065 ~ 068)- Day17 문자열, 수학, 조건문, 배열, 사칙연산

Kang.__.Mingu·2023년 1월 15일
0

코딩테스트(Lv0)

목록 보기
18/26

숫자 찾기

숫자 찾기

문제

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


function solution(num, k) {
    let arr = num.toString()
    				.split('')
    				.map((num) => parseInt(num));
    
  	// arr배열 안에 k가 있으면
    if(arr.includes(k)){
        for(let i = 0; i < arr.length; i++){
            if(arr[i] === k){
                return i + 1;
            }
        }
    }
  	// 없으면 
    return -1
}

// 배열 메소드 findIndex() 사용하면 될 듯 
// => 프로그래머스에서 사용 불가
// findIndex() = 찾는게 있다면 해당 인덱스를 return 
// 없으면 -1을 return

n의 배수 고르기

n의 배수 고르기

문제

정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.


function solution(n, numlist) {   
    return numlist.filter((num) => num%n === 0);
}

filter()을 사용하여 해당 요소를 n으로 나눴을 때 나머지가 0인 것만 반환


자릿수 더하기

자릿수 더하기

문제

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


function solution(n) {
    let sum = 0;
    n.toString()
      .split('')
      .map((num) => sum += parseInt(num));
    return sum;
}

OX퀴즈

OX퀴즈

문제

덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.


function solution(quiz) {
    let result = [];
    let arr;
    let sum;
    let num1,num2;
    for(const qz of quiz){
        arr = qz.split(' ');
        sum = parseInt(arr[4]);
        num1 = parseInt(arr[0]);
        num2 = parseInt(arr[2]);
        if(arr[1] === '+'){
            num1 + num2 === sum 
              ? result.push('O') 
            : result.push('X'); 
        } 
        if(arr[1] === '-'){
            num1 - num2 === sum 
              ? result.push('O') 
            : result.push('X');
        }
    }
    return result;
}
// 배열의 요소를 가져와서 맞는 수식인지 검사하고
// 맞으면 O
// 아니면 X
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글