728x90
🔥 Programmers Lv.1 : 가운데 글자 가져오기
🔍 문제 : " 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. "
📎 조건 :
∙ s는 길이가 1 이상, 100이하인 스트링입니다.
∙ s는 길이가 1 이상, 100이하인 스트링입니다.
👉🏻 My answer
function solution(s) {
var answer = '';
if(s.length % 2 == 0){
answer = s[s.length/2 - 1] + s[s.length/2];
} else {
answer = s[Math.floor(s.length/2)];
}
return answer;
}
: 문제에 맞게 s의 길이가 짝수일 때는 가운데 두글자가 나올 수 있도록 s의 인덱스값이 길이의 반 값일 때와 그거에서 하나 빼 준 값을 구해주었습니다.
: 홀수일 때는 가운데 자리만 구해주면 되는데, 홀수를 2로 나누면 소수로 떨어지므로 Math.floor메서드를 이용하여 나머지값을 없애주어 가운데의 값을 구해주었습니다.
: 홀수일 때는 가운데 자리만 구해주면 되는데, 홀수를 2로 나누면 소수로 떨어지므로 Math.floor메서드를 이용하여 나머지값을 없애주어 가운데의 값을 구해주었습니다.
👉🏻 Another ways
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
: s.length % 2 === 0 ? 2 : 1 -> 이 부분은 가운데 길이가 두 자리인지 한 자리인지 결정해 주는 부분입니다.
: Math.ceil(s.length / 2) - 1 -> substr()메서드의 출발점을 결정 지어주는 부분입니다.
: Math.ceil(s.length / 2) - 1 -> substr()메서드의 출발점을 결정 지어주는 부분입니다.
'알고리즘 도장깨기' 카테고리의 다른 글
프로그래머스 Lv.1 "문자열 다루기 기본" (1) | 2022.11.17 |
---|---|
프로그래머스 Lv.1 "내적" (2) | 2022.11.15 |
프로그래머스 Lv.1 "x만큼 간격이 있는 n개의 숫자" (2) | 2022.11.14 |
프로그래머스 Lv.1 "핸드폰 번호 가리기" (1) | 2022.11.14 |
프로그래머스 Lv.1 "문자열 내 p와 y의 개수" (1) | 2022.11.14 |
댓글