[알고리즘/Programmers]
평균구하기 (소제목 true/false?)
function solution(s) {
if(s.length % 2 === 0){
return s.slice((s.length/2)-1,(s.length/2)+1)
} else if(s.length % 2 === 1) return s[Math.floor(s.length/2)]
}
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
//한줄풀이..
Math.cill 함수 MDN공식문서
주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자를 integer 로 반환합니다.
Parameters로 숫자가 들어가고 리턴값은
주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자가 나오는 함수다
이 문제에서는 홀수로 나누었을때 반올림 되는 방식으로 사용하신거 같다.
Math.ceil(3 / 2) // 2 Math.ceil(5 / 2) // 3
.substr ( , )
메서드의 인자부분에 삼항연산자로
값을 정해서 넣을 수 있다는 사실을 알게 되었다
s.length % 2 === 0 ? 2 : 1
s의 길이를 2로 나눈값이 0이라면 2
아니라면 1
이렇게 인자를 넣을 수도 있구나
다른분들의 간결한 풀이를 보면서
한층 더 배우는거 같다.
학원 초반부터 풀어보지 못해서 조금 아쉽다.