[알고리즘/Programmers] 가운데 글자 가져오기

해달·2021년 7월 20일
0
post-thumbnail

[알고리즘/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);
}

//한줄풀이..

알게 된 것 (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
이렇게 인자를 넣을 수도 있구나


다른분들의 간결한 풀이를 보면서
한층 더 배우는거 같다.
학원 초반부터 풀어보지 못해서 조금 아쉽다.

0개의 댓글

관련 채용 정보