저는 가운데 글자의 인덱스를 이용하여 return하는 방법을 생각했습니다.
function solution(s) {
var l = s.length;
if(l%2===0){
return s[l/2-1]+s[l/2];
}
else{
return s[parseInt(l/2)]
}
}
먼저, input값인 s의 길이를 l이라는 변수를 선언하여 저장했습니다.
그리고, l이 짝수인 경우와 홀수인 경우를 나누었습니다.
짝수인 경우에는 항상 가운데 두 글자, 홀수인 경우에는 항상 가운데 한 글자가 리턴됩니다.
여기서, 홀수인 경우에 파이썬 같았으면 index값을 l//2 로 바로 구했을텐데 자바스크립트에는 몫(정수값)만 따로 구하는 연산자가 없더라구요.
그래서 l/2를 해준다음 나머지 소수점 아래는 parseInt()를 사용해서 버려주었습니다.
parseInt()는 보통 string으로 표현된 숫자들을 number 자료형으로 변환하고 싶을 때 사용하는 함수입니다. 반올림같은 것 없이 그냥 소수점 밑으로는 깔끔하게 버립니다.
parseInt(3.2); //3
parseInt(3.9); //3
3.2와 3.9 모두 parseInt();를 사용하면 3이 됩니다.
비슷한 함수로는 parseFloat가 있습니다. 함수 이름 보시면 아시겠지만 parseInt와는 다르게 정수형이 아닌 실수형으로 변환해주는 함수입니다.
프로그래머스 Level1 - 2016년 (JavaScript) (0) | 2020.05.09 |
---|---|
프로그래머스 Level1 - K번째수 (JavaScript) / sort 함수 작동법 (0) | 2020.05.09 |
프로그래머스 Level1 - 직사각형 별찍기 (JavaScript) (0) | 2020.05.09 |
프로그래머스 Level1 - 수박수박수박수박수박수? (JavaScript) (0) | 2020.05.09 |
프로그래머스 Level 1 - 짝수와 홀수(Javascript) (0) | 2020.05.08 |