문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 사항
s는 길이가 1이상, 100이하인 스트링
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
나의 풀이
function solution(s) {
let mid = s.length % 2;
if (mid == 1) {
//odd
answer = s[(s.length - 1) / 2];
} else {
//even
answer = s[s.length / 2 - 1] + s[s.length / 2];
}
return answer;
}
=> 문자열길이가 짝수인지 홀수인지를 판별 => 짝수이면 가운데 두글자 반환, 홀수면 한 글자만 반환
다른 사람 풀이
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
=> substr()을 이용해 문자열을 자르는데, 홀수이면 문자열길이/2를 한 결과가 소수점이 나오므로 ceil()을 이용해 올림해준다! 그 이후 문자열이 짝수이면 2개 문자열 출력, 홀수면 1개 문자열 출력
메서드
- substr(a,b)
- 특정 위치에서 시작하여 특정 문자 수 만큼 반환
- a번째부터 b개 글자 가져오기
- Math.floor() : 소수점 이하를 버림한다.
- Math.ceil() : 소수점 이하를 올림한다.
- Math.round() : 소수점 이하를 반올림한다.
https://school.programmers.co.kr/learn/courses/30/lessons/12903
'알고리즘' 카테고리의 다른 글
[프로그래머스 / 코딩테스트 연습] 없는 숫자 더하기 (0) | 2023.04.07 |
---|---|
[프로그래머스 / 코딩테스트 연습] 두 정수 사이의 합 (0) | 2023.04.07 |
[프로그래머스/코딩 테스트 연습] 문자열 내 마음대로 정렬하기 (javascript) (0) | 2023.04.06 |
[프로그래머스/코딩 테스트 연습] 음양 더하기 (javascript) (0) | 2023.04.06 |
[프로그래머스/코딩 테스트 연습] 문자열 연습하기-문자열 내 p와 y의 개수 (javascript) (0) | 2023.04.06 |
댓글