728x90
https://programmers.co.kr/learn/courses/30/lessons/12903
문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
결괏값 예시
s | return |
"abcde" | "c" |
"qwer" | "we" |
기본 제공 틀
function solution(s) {
var answer = '';
return answer;
}
풀이 [JavaScript]
728x90
len의 값에서 s.length/2를 Math.floor를 해준 이유는, 5 / 2 를 했을 경우에는 2.5로 값이 소수점으로 나오게 된다.
이로 인해, 홀수의 경우에는 값이 undefined로 뜨게 된다. 이러한 문제를 해결하기 위해 나눈 값을 다시 정수값으로 설정해주는 작업이 필요하다.
int 즉, 정수는 -를 포함하기 때문에 if문에서 s.length % 2 === 1 로 if 문을 작성했을 경우에는 -3을 입력했을 경우 -3 % 2 = -1의 값이 나오기 때문에 else문으로 빠지게 되어 정확한 로직 구현이 어렵다.
그러므로 if문에서는 나머지값이 0일 경우를 입력해주는 것이 중요하다.
function solution(s) {
var len = Math.floor(s.length/2)
if( s.length % 2 === 0 ){
return s[len-1] + s[len];
}else{
return s[len];
}
}
채점 결과 [JavaScript]
728x90
'알고리즘 스터디 > 프로그래머스 스킬체크 레벨 1(끝)' 카테고리의 다른 글
[프로그래머스 스킬체크 레벨 1] 짝수와 홀수 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
---|---|
[프로그래머스 스킬체크 레벨 1] 직사각형 별찍기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
[프로그래머스 스킬체크 레벨 1] 같은 숫자는 싫어 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
[프로그래머스 스킬체크 레벨 1] 문자열 내 마음대로 정렬하기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.05.03 |
[프로그래머스 스킬체크 레벨 1] 제일 작은 수 제거하기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.04.29 |
댓글