본문 바로가기
코딩테스트/프로그래머스 0단계 - 입문

프로그래머스 0단계 - Day19 문자열, 배열, 조건문

by 학습하는 청년 2024. 3. 23.

7의 개수

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 100,000
function solution(array) {
  let cnt = 0;
  for(let i = 0; i < array.length; i++) {
    const item = String(array[i]);
    for(let j = 0; j < item.length; j++) {
      const v = item[j];
      if(v === '7') cnt++;
    }
  }
  return cnt;
}

// 다른 사람의 풀이
function solution(array) {
  return array.join('').split('7').length-1;
}

 

<다른 사람의 풀이에 대한 이해>

join()

split()


잘라서 배열로 저장하기

문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.

  • 1 ≤ my_str의 길이 ≤ 100
  • 1 ≤ n ≤ my_str의 길이
  • my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.
function solution(my_str, n) {
  const answer = [];
  let tempStr = '';
  for(let i = 0; i < my_str.length; i++) {
    const item = my_str[i];
    tempStr += item;
    if(i % n === n-1) {
      answer.push(tempStr);
      tempStr = '';
    }
  }
  if(tempStr.length > 0) {
      answer.push(tempStr);
  }
  return answer;
}

// 다른 사람의 풀이
function solution(my_str, n) {
  return my_str.match(new RegExp(`.{1,${n}}`, "g"));
}

function solution(my_str, n) {
  let res = [];
  for (let i = 0; i < my_str.length; i+=n) res.push(my_str.slice(i, i+n));
  return res;
}

function solution(my_str, n) {
  let answer = [];
  for(let i=0; i < my_str.length; i+=n) {
    answer.push(my_str.substr(i, n));
  }
  return answer;
}

 

<다른 사람의 풀이에 대한 이해>

정규분표식

 

slice()

 

substr()


중복된 숫자 개수

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

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 1,000
  • 0 ≤ n ≤ 1,000
function solution(array, n) {
  let cnt = 0;
  for(let i = 0; i < array.length; i++) {
    const item = array[i];
    if(item === n) cnt++;
  }
  return cnt;
}

// 다른 사람의 풀이
function solution(array, n) {
  return array.filter(v=>v===n).length;
}

 

<다른 사람의 풀이에 대한 이해>

filter()


머쓱이보다 키 큰 사람

머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.

  • 1 ≤ array의 길이 ≤ 100
  • 1 ≤ height ≤ 200
  • 1 ≤ array의 원소 ≤ 200
function solution(array, height) {
  let answer = 0;
  for(let i = 0; i < array.length; i++) {
    const item = array[i];
    if(item > height) answer++;
  }
  return answer;
}

// 다른 사람의 풀이
function solution(array, height) {
  array.push(height);
  array.sort((a, b) => a - b);
  return answer = array.length - array.lastIndexOf(height) - 1;
}

function solution(array, height) {
  let answer = 0;
  return array.filter(f=> f> height).length;
}

 

<다른 사람의 풀이에 대한 이해>

sort()

lastIndexOf()

 

filter()


참고 영상

https://youtu.be/J-oEaODNcq0?si=OWT52OuvtSKfLhHJ

댓글