[JS] 특정 문자 추출하기 programmers

0

코딩테스트

목록 보기
1/80
post-thumbnail

문제

car, save, curry, water, bottle

주어진 단어의 길이가 홀수이면 단어의 중간 글자를 추출하고,
짝수이면 중간에 있는 2개의 글자를 추출해 보세요.

문제 결과

a
av
r
t
tt

위와 같은 결과가 출력되어야합니다.

내 답변

function pickWord(word) {
  	// 받아온 word 값의 한글자 한글자 나누어 저장
    let splitWord = word.split('')
    // 받아온 word의 전체 길이 저장
    let wordLeng = word.length;
    if(wordLeng % 2 !== 0) {
  		// 단어 길이가 홀수일 때
      	// 단어 전체 길이 - 단어 전체 길이 / 2 하여 중간 글자 추출
      	// 소숫점이 나오니까 Math.floor 사용해서 소숫점 빼줌
        let middleWord = wordLeng - Math.floor(wordLeng / 2)
        // 계산되어진 값에서 1을 빼주면 어떤 단어가 들어오던 항상 중간 글자가 추출된다.
        return splitWord[middleWord - 1]
    }else {
      	// 짝수일 때
      	// 단어 전체 길이 / 2 - 1하여 시작 단어 index 선택
       	// 단어 전체 길이 / 2 + 1하여 마지막 단어 index 선택
        let sliceWord = splitWord.slice(wordLeng / 2 - 1 , wordLeng / 2 + 1);
        return sliceWord.join('')
    }
}

console.log(pickWord("car"))
console.log(pickWord("save"))
console.log(pickWord("curry"))
console.log(pickWord("water"))
console.log(pickWord("bottle"))

코드가 좀 너저분한 듯 한데
더 좋은 방법이 있다면 꼭 댓글로 알려주시면 감사하겠습니다.

profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글