[프로그래머스] Lv.1 가운데 글자 가져오기 (JS)

아름·2023년 12월 8일
0

알고리즘

목록 보기
19/26

🔎 문제

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

입출력 예


🔓 풀이 과정

고민

1) 문자열이 짝수인지 홀수인지 판단하기
2) 문자열의 인덱스 값을 활용해서 문자 두개를 붙여주기
3) 홀수일 때는 어떻게 해야할까..?

나의 풀이

function solution(s) {
    var answer = ''; 
      if (s.length %2 == 0) {
      answer = s[s.length / 2 - 1] + s[s.length / 2]
        // s 길이의 반 -1 값에 해당하는 index 값 + s 길이의 반 값에 해당하는 index 값
    } else {
      answer = s[Math.floor(s.length/2)]
    }  // s 길이의 반 값에서 내림한 index 값
    return answer;
}

// 배열과 문자열은 인덱스를 통하여 접근이 가능하며 그 값을 참조할 수 있음
// 헷갈릴 때는 콘솔로 하나씩 찍어보면서 확인해보기
// 홀수일 때는 Math.floor 활용하기!
// Math.floor(): 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환 -> 내림 기능

그 밖의 풀이

function solution(s) {
    return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}

// string.substr(start, length): 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환
// Math.ceil(): 입력받은 숫자보다 크거나 같은 정수 중 가장 작은 정수를 반환 -> 올림 기능
// 와 이건 해석만 되고 내가 스스로는 못할 거 같다.. 언제쯤 이렇게 짤 수 있을까!
profile
내 꿈은 개발자

0개의 댓글