[프로그래머스] 가운데 글자 가져오기

ppyororong_0_0·2022년 1월 18일
0

프로그래머스

목록 보기
14/19

[프로그래머스 - 1단계] 가운데 글자 가져오기 문제

https://programmers.co.kr/learn/courses/30/lessons/12903

📝 문제 설명

단어 s의 가운데 글자를 반환하는 함수 만들기

  • 단어의 길이가 짝수라면 가운데 두 글자 반환

💡 풀이

1. middle : 단어의 가운데 글자 구하기

  • 단어의 길이를 2로 나눈 후의 몫이 글자의 가운데 위치에 해당한다.

2. 단어의 길이가 홀수인지 짝수인지 판별

  • 단어의 길이를 2로 나눈 나머지가 0이라면 단어의 길이는 짝수
  • middle의 바로 앞과 middle 위치에 해당하는 두 글자를 반환하면 가운데 두 글자가 나온다.
  • 홀수인 경우는 그대로 middle 위치에 있는 문자를 리턴한다.

🖥️ 코드

function solution(s) {
    let middle = Math.floor(s.length / 2);
  
    if (s.length % 2 === 0) {
        return s[middle - 1] + s[middle];
    } else return s[middle];
}

❗ 다른 사람 풀이

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

Math.ceil( ) : 인수로 전달된 숫자의 소수점 이하를 올림한 정수 반환.

  • 1.6의 소수점 이하를 올리면 2가 되고, -1.6의 소수점 이하를 올림하면 -1이 된다.
    Math.ceil(1.6) // 2
    Math.ceil(-1.6) // -1

String.substr( ) : 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환 더 알아보기

profile
안녕하세요!

0개의 댓글