1차 공부/알고리즘

가운데 글자

공대탈출 2022. 11. 22. 17:43
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

 

제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.

 

위의 입출력 예처럼 홀수라면 가운데 한글자를, 짝수라면 가운데로부터 양 옆 두글자를 반환하면 된다.

 

인덱스는 0부터 시작하는데, 위의 abcde를 예로 들자면 아래와 같이 인덱스값을 가지고 있다.

인덱스 문자
0 a
1 b
2 c
3 d
4 e

 

 

function solution(s) {	//인덱스는 0부터 시작한다.
    var answer = '';
    let inputLength = s.length	//입력된 s의 길이를 inputLength라는 변수에 입력시킨다.
    let odd = Math.floor(inputLength/2)	//s가 홀수일 때 inputLength나누기 2한 값을 소수부분을 버린다.
    if (inputLength%2 === 0) {	//만약 입력값의 길이가 짝수라면
        answer = s[s.length/2-1]+s[s.length/2]	//정답은 중간인덱스의 -1지점 + 중간인덱스지점
    } else {	//만약 입력값의 길이가 홀수라면
        answer = s[odd]	//아까 소수를 버려 정수화 시킨 값을 인덱스로 하여 답을 입력한다.
    }
    return answer;
}

 

코드의 간결화

function solution(s) {
    let odd = Math.floor(s.length/2)
    if (s.length%2 === 0) {
        return s[s.length/2-1]+s[s.length/2]
    } else {
        return s[odd]
    }
}

 

'1차 공부 > 알고리즘' 카테고리의 다른 글

없는 숫자 더하기  (0) 2022.11.22
문자열을 정수로 바꾸기  (0) 2022.11.22
두정수사이의합  (0) 2022.11.22
짝수와 홀수  (0) 2022.11.22
직사각형 별찍기  (0) 2022.11.22