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

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

코딩테스트(Lv0)

목록 보기
14/26

컨트롤 제트

컨트롤 제트

문제

숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.


function solution(s) {
    let sum = 0;
    let arr = s.split(' ');
    let idx = []
    
    for(let i = 0; i < arr.length; i++){
        if(arr[i] === 'Z'){
            idx.push(-arr[i-1]);
        }else {
            idx.push(arr[i]);
        }
    }
    
    idx.map((i) => sum += parseInt(i));
    
    return sum;
}
// Z가 나오면 이전에 있던 숫자를 뺀다
// Z가 담겨있는 인덱스를 찾아서
// 해당인덱스 -1 해서 찾아서 빼면 될 듯

배열 원소의 길이

배열 원소의 길이

문제

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

function solution(strlist) {
    let length = [];
    
    strlist.map((item) => length.push(item.length));
    return length;
}
// 원본을 보존하기 위해 새로운 배열을 만들어 놓음
// 기존배열을 map()을 사용하여 해당 
// 배열 요소의 길이를 새로 만들어 높은 배열에 push

삼각형의 완성조건(1)

삼각형의 완성조건(1)

문제

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.


function solution(sides) {
    sides.sort((a,b) => b - a);
    return sides[0] < sides[1] + sides[2] ? 1 : 2;
}

// 1. 내림차순으로 정렬
// 2. sides[0]이 sizes[1] + sides[2]보다 
//    작으면 1(삼각형 완성 가능) 아니면 2(불가능)

중복된 문자 제거 문제는 001에서 풀었기 때문에 따로 풀지 않음

profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글