프로그래머스 - 가운데 글자 가져오기
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
s는 길이가 1 이상, 100이하인 스트링입니다.
가운데 글자를 찾기 위해선 먼저 주어진 단어 s
의 길이가 짝수인지 홀수인지 확인이 필요하다. 짝수인 경우와 홀수인 경우에 대해서 따로 조건문을 만들어 구분짓지 않고 삼항 조건 연산자를 사용했다.
solution 1
의 Math.floor(len / 2)
의 값을 solution 2
에서 middle
변수에 담아서 중복되는 연산을 줄였다. 그리고 solution 2
에서 solution 1
의 template literal
문자열 표기법 대신 문자열 연결 연산자 +
를 사용했다.
// solution 1
function solution(s) {
const len = s.length;
const answer =
len % 2
? s[Math.floor(len / 2)]
: `${s[len / 2 - 1]}${s[Math.floor(len / 2)]}`;
return answer;
}
// solution 2
function solution(s) {
const len = s.length;
const middle = Math.floor(len / 2);
return len % 2 ? s[middle] : s[middle - 1] + s[middle];
}
solution2('ab'); // 'ab'
solution2('abcde'); // 'c'
solution2('qwer'); // 'we'
MDN - 삼항 조건 연산자
MDN - Math.floor()
삼항 조건 연산자
삼항 조건 연산자는 Javascript에서 세 개의 피연산자를 취할 수 있는 유일한 연산자입니다. 보통 if 명령문의 단축 형태로 쓰입니다.