한 걸음씩 기록하며

[프로그래머스 코딩테스트] 문자열 다루기 기본 본문

알고리즘 & 코딩테스트

[프로그래머스 코딩테스트] 문자열 다루기 기본

Haksae 2022. 1. 16. 03:49

[문자열 다루기 기본]

문제 설명 :

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

⛏제한 조건

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

 

📁 입출력 예시

👉🏻  답안

function solution(s) {
  let sum = 0;
  if (s.length === 4 || s.length === 6) {     // 4 or 6
    for (let i = 0; i < s.length; i++) {
      sum += s[i] * 0;
    }
  } else {                                    // 4 or 6 아니면 바로 false
    return false;
  }
  return sum >= 0 ? true : false;             // 4 or 6이면 sum으로 구분
}                                             // sum이 숫자면 true, nan 이면 false

 

📑  간단한 설명

기본적인 if와 for로만 구성되어있다.

여러 로직들이 들어가면서 너무 복잡해진 느낌이다. 함수를 안쓰니 계속 코드가 복잡해진다..

 

 

💪🏻 공부하면 좋을 답안

function alpha_string46(s){
  var temp = parseInt(s);
  if(s==temp){
    return true;
  }
  return false;
}
  • 이전 버전에 있었던 답안이라 지금 테스트하면 통과가 되지는 않습니다. 아마도 인덱스 4,6 조건이 없어서 그런거 같습니다.
  • 그래도 parseInt로 형변환하고 바로 대조해보는건 신박하네요. 좀 머리를 굴려봐야겠습니다..
Comments