CODING TEST .2

dam lee·2022년 5월 13일
0

ALGORITHM STUDY

목록 보기
3/7
post-thumbnail

📝 가운데 글자 가져오기

  • 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

입출력 예시

sreturn
"abcde""c"
"qwer""we"

주어진 문제 코드

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

✏️ 문제 풀이

function solution(s) {
  let x = Math.floor(s.length/2)
  return s.length % 2 === 0 ? s.substr(x-1,2) : s.substr(x,1)  
}
  1. 글자 수를 2로 나눈 값을 정수로 처리해주기
    math.floor( ): 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환하는 함수
  2. s의 length가 짝수이면 중간 두 글자를 홀수이면 중간 한 글자를 추출하기
    str.substr(i,n): 'str'의 i번째 글자부터 n개를 추출하는 함수

이 문제는 math.floor( )랑 substr을 알아야 풀 수 있었기에 코린이인 나는 한참동안 MDN과 구글을 돌아다니며 반올림 함수와 글자 추출 함수를 찾아봤다. 솔직히 짧고 간결하게 코드를 쓰고 싶은 마음에 여기 더 없나? 다른 방법 없나? 해매고 다닌 것도 있다. 코드는 한층 간결해졌지만 이 코드하나 쓴다고 해맨 시간은 결코 짧지 않아서 슬프다...또륵..

근데 정말 세상엔 어마무시한 사람들이 많은 것 같다.. 대단해 정말...

다른사람 풀이

function solution(s) {
    return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}

이 사람은 나처럼 많은 시간을 투자했을까..? 아니면 금방 후딱 썼을까? 정말 궁금해
그리고 math.ceil ... 메모




📗 '가운데 글자 가져오기' 풀러가기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

profile
기록하는 담입니다.

0개의 댓글