코딩테스트 문제해결 3

Seong Hyeon Kim·2022년 5월 13일
0

알고리즘

목록 보기
2/20

[기초코드]

function solution(s) {
    var answer = '';
    return answer;
}

[내가 올린 정답]

function solution(s) {
    var answer = '';
    
    if (s.length % 2 == 0 ) { // 짝수일 경우,
        answer = s[s.length / 2 - 1] + s[s.length / 2];
    } else {
        answer = s[Math.floor(s.length/2)]; // 홀수일 경우, 반내림 하기
    }
    return answer;
}
  • 문자열의 길이가 짝수인지 홀수인지 판별한다.
    짝수이면 가운데 두 글자를 반환하고, 홀수이면 가운데 한 글자만 반환한다.
  • 짝수이면, 문자열의 길이를 2로 나누어 해당 인덱스의 이전 값과 해당 인덱스 값을 출력해주면 된다.
    문자열의 길이가 홀수일 때 2로 나누면 나눈 값은 소숫점이 될 것이다. 그러므로 나눈 값에 Math.floor()메서드를 사용해 반내림을 해주어야 한다. 반올림이 아닌 반내림을 하는 이유는 인덱스는 0부터 시작하기 때문이다.

  • 이번것 역시 내가 풀지는 못했지만 설명이 너무 잘되어 있으셔서 참고차원에서 가져오게 되었다

나는 원래 특정글자에 접근하는 String.prototype.charAt() 함수를 사용할려고 하였으나 이 문제는 본문처럼 length 함수를 이용해서 자신이 원하는 쪽을 가져가는게 더 편하게들 많이 사용하는 것 같다

profile
삽질도 100번 하면 요령이 생긴다. 부족한 건 경험으로 채우는 백엔드 개발자

0개의 댓글