본문 바로가기
코딩테스트/프로그래머스

프로그래머스 문자열 다루기 기본 해설, 인기 있는 문제풀이

by 코드스니펫 2023. 12. 29.
반응형

프로그래머스 문자열 다루기 기본 해설, 인기 있는 문제풀이

 

programmers logo

 

프로그래머스 내적 문제 소개와 해설, 필자의 문제풀이 과정과 가장 인기 있던 문제풀이에 대해 소개하겠습니다. 아래 풀이 과정을 보면서 코딩에 있어서 유익한 인사이트를 얻길 바랍니다. 

 

 

프로그래머스 문자열 다루기 기본 문제

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

(직접 문자열 다루기 기본 문제를 풀어보세요)

 

문제 설명

주어진 문자열 s의 길이가 4 또는 6이고, 숫자로만 구성되어 있는지 확인하는 함수 solution을 작성해야 합니다. 예를 들어, "a234"는 False를 반환해야 하고, "1234"는 True를 반환해야 합니다.

 

제한 사항

  • s는 길이 1 이상, 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

 

필자의 문제풀이

필자의 코드는 주어진 문자열을 배열로 변환하고, 각 문자가 숫자이며 주어진 길이가 4 또는 6인지를 확인하는 방식입니다. 

 

function solution(s) {
  var answer = [...s];
  var result = true;

  if (s.length !== 4 && s.length !== 6) return false;

  answer.forEach((item) => {
    if (isNaN(Number(item))) result = false;
  });

  return result;
}

 

 

인기있는 문제풀이

아래 코드는 정규표현식을 사용하여 문자열에서 숫자를 제거한 후, 길이가 0이면서 주어진 길이가 4 또는 6인지를 확인합니다. 이 코드는 간결하면서도 효율적으로 문제를 해결하는 좋은 예시입니다.

 

function solution(s) {
    return s.replace(/\d/g,'').length === 0 && (s.length === 4 || s.length === 6)
}

 

 

 

알고리즘 풀 때 유념해야할 점

 

알고리즘 문제를 풀 때, 코드의 논리적 구조와 문법적인 측면을 주의깊게 살펴보아야 합니다. 인기있는 문제풀이에서는 정규표현식을 활용하여 간결하게 문제를 해결한 예시를 보여주고 있습니다. 코드의 가독성과 효율성을 높이기 위해 항상 다양한 방법을 고려해보는 것이 중요합니다.