Lv 1. 가운데 글자 가져오기

박하린·2021년 5월 30일
0

프로그래머스

목록 보기
9/42

📚 문제

가운데 글자 가져오기
https://programmers.co.kr/learn/courses/30/lessons/12903

💡 접근

단어의 길이가 홀수면 가운데 글자만 리턴하고
짝수면 가운데 두글자를 리턴하는 if else문으로 풀었다.

길이가 홀수일 때 길이/2 하면 몫이 .5로 나오기때문에 parseInt함수로 그냥 정수로 변환시켜주었다.

⌨️ 코드

function solution(s) {
    var answer = '';
    var stringLen = s.length;
    if (stringLen % 2 == 0){ // 단어의 길이가 짝수
        answer = s[stringLen/2 - 1] + s[stringLen/2];
    }
    else // 홀수
        answer = s[parseInt(stringLen/2)]; 
    return answer;
}

다른 사람의 풀이

function solution(s){
     return s.length % 2 ? s[parseInt(s.length/2)] : s.substr(s.length/2 - 1, 2);
  }

✅ 메소드 정리

string.substr()

  • 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환

  • syntax

str.substr(start[, length])
  • 매개변수
    • start : 추출하고자 하는 문자열의 시작위치. 음수가 주어진다면 문자열의 길이 + start 값으로 취급한다.
    • length : 추출할 문자들의 총 개수. 생략될 경우 문자열의 끝까지 추출
      var str = 'abcdefghij';

      console.log('(1, 2): '   + str.substr(1, 2));   // '(1, 2): bc'
      console.log('(-3, 2): '  + str.substr(-3, 2));  // '(-3, 2): hi'
      console.log('(-3): '     + str.substr(-3));     // '(-3): hij'

📝 리뷰

이 문제 풀고나서 다른 사람의 풀이를 보고 삼항연산자를 사용하면 좀 더 간결하게 코드를 짤 수 있다는 것을 느꼈던 거 같다.
substr() 메소드를 사용하는 것에 익숙해져야겠다.

profile
깃허브: https://github.com/khakaa

0개의 댓글

관련 채용 정보