출처/프로그래머스
● 문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
● 제한 사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
● 입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
나의 풀이
function solution(s) {
return s.length%2 == 0 ? s.substr(s.length / 2 - 1, 2) : s[Math.floor(s.length/2)];
}
후기
나의 풀이에서 삼항 연산자로 첫 식을 substr로 작성했는데, 뒤의 식도 일관성있게 substr로 작성하는 게 더 좋았을 것 같다는 생각이 든다.
// 다른 사람의 풀이
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
이처럼 처음부터 length를 보는 것이 아니라, substr로 나중에 length를 비교하여 끝 위치를 설정해주는 것도 좋았던 것 같다.
'Programmers > Level 1' 카테고리의 다른 글
[프로그래머스 / JavaScript] - 내적 (0) | 2022.05.03 |
---|---|
[프로그래머스 / JavaScript] - 최대공약수와 최소공배수 (1) | 2022.05.02 |
[프로그래머스 / JavaScript] - 나누어 떨어지는 숫자 배열 (0) | 2022.04.30 |
[프로그래머스 / JavaScript] - 수박수박수박수박수박수? (0) | 2022.04.29 |
[프로그래머스 / JavaScript] - 정수 제곱근 판별 (0) | 2022.04.29 |