처음에 어떻게 접근할지 막막했다..
20분 정도 생각하다가 감이 잡혔는데
그때의 내 생각의 흐름을 적어보자
- 한글자씩 나눠볼까?
- 그 한글자를 어떻게 출력할까?
- 아, 인덱스로 그 글자를 출력하면 되겠네!
- 그럼 글자 수가 6글자(짝수)일때는 가운데 두 글자를 출력해야하니
3, 4번 글자를 가져오면 되겠구나. (인덱스는 0부터 시작)- 그럼.. if문으로 짝수일경우, 홀수일 경우를 나눠서 문자열의 인덱스 번호로 출력하면되겠다.
- 예를들어 6나누기2의 몫은 3 <- 이 3은 인덱스번호로 치면 2니까
짝수면 몫의 -1에 몫 을 더하면 가운데 문자열 두글자를 출력하고
홀수면 몫을 그냥 출력해야겠다.
자, 이걸 코드로 풀어내보면
function solution(s) {
let answer = '';
if (s.length % 2 === 0) {
answer = s[s.length / 2 -1] + s[s.length / 2]
} else {
answer = s[s.length / 2]
}
return answer;
}
답을 제출하고 다른사람의 풀이를 봤는데
substr() 이라는 함수를 사용하더라.
substr(a, b)
배열의 a인덱스에서 시작하여
b개수 만큼 배열을 반환한다.
ex) let str = "abdefg"
str.substr(2, 2) -> "de"
답은 제출했지만 꼭 까먹지말아야 할것!
정답을 담을 빈 변수를 선언해주기!! let answer = '';
그리고 함수니까 return으로 값주기!
replit으로 할때는 코드를 왼쪽화면에 넣어두고
오른쪽화면에 변수선언 후 값을넣고, solution함수에 값을 넣어 코드실행하기!!