코딩테스트 13일차

컨트롤 제트

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

 

function solution(s) {
  let numbers = s.split(" ");
  let sum = 0;
  let prevNumber = 0;

  for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] === "Z") {
      sum -= prevNumber;
    } else {
      let num = parseInt(numbers[i]);
      sum += num;
      prevNumber = num;
    }
  }

  return sum;
}

배열 원소의 길이

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

function solution(strlist) {
  var answer = [];

  for (var i = 0; i < strlist.length; i++) {
    answer.push(strlist[i].length);
  }

  return answer;
}

✅풀이

반복문을 사용하여 배열 strlist의 각 원소에 접근하고, length 속성을 이용하여 각 원소의 길이를 계산합니다. 계산된 길이를 answer 배열에 push() 메소드를 사용하여 추가합니다. 마지막으로 answer 배열을 반환합니다.

예를 들어, ["hello", "world", "example"]라는 strlist 배열이 주어진다면, 각 원소의 길이를 계산하여 [5, 5, 7]이라는 배열을 반환합니다.

중복된 문자 제거

문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.

function solution(my_string) {
  var answer = '';
  var charSet = new Set(); // 중복 문자를 확인하기 위한 Set

  for (var i = 0; i < my_string.length; i++) {
    var char = my_string[i];

    // 현재 문자가 이미 Set에 존재하는 중복 문자인 경우 무시
    if (charSet.has(char)) continue;

    charSet.add(char); // Set에 문자 추가
    answer += char; // 문자열에 추가
  }

  return answer;
}

✅풀이

문자열 my_string을 순회하면서 각 문자를 확인합니다. 현재 문자가 Set에 이미 존재하는 중복 문자인 경우 무시하고, 존재하지 않는 경우 Set에 추가하고 결과 문자열 answer에도 추가합니다.

삼각형의 완성조건 (1)

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

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

function solution(sides) {
  sides.sort((a, b) => a - b); // 변의 길이를 오름차순으로 정렬

  if (sides[2] < sides[0] + sides[1]) {
    return 1; // 삼각형을 만들 수 있는 경우
  } else {
    return 2; // 삼각형을 만들 수 없는 경우
  }
}

✅풀이

 주어진 세 변의 길이를 오름차순으로 정렬한 후, 가장 긴 변의 길이 sides[2]가 나머지 두 변의 길이 sides[0]와 sides[1]의 합보다 작은지 확인합니다. 만약 작다면 삼각형을 만들 수 있는 경우이므로 1을 반환합니다. 그렇지 않다면 삼각형을 만들 수 없는 경우이므로 2를 반환합니다.

728x90
반응형
다쭐◠‿◠