1번 문제 : 서울에서 김서방 찾기(indexOf 와 for반복문)
[문제 설명]
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
[제한 사항]
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
[입출력 예]
[나의 풀이]
function solution(seoul){
let answer = ""
answer = `김서방은 ${seoul.indexOf("Kim")}에 있다`
return answer
}
indexOf를 활용하여 Kim이라는 항목의 index값을 구해서 템플릿리터럴을 활용하여 answer에 할당한다.
function solution(seoul) {
for (let i = 0; i < seoul.length; i++) {
if (seoul[i] === 'Kim') return `김서방은 ${i}에 있다`
}
}
for 반복문을 활용하여 seoul[i]에 Kim이 있다면 인덱스값이 정답이다.
2번 문제 : 문자열 다루기 기본
[문제 설명]
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
[제한 사항]
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
[입출력 예]
[나의 풀이]
function solution(s) {
if( s.length !== 4 && s.length !== 6 ) {
return false
}
for( let i = 0; i < s.length; i++ ) {
if( isNaN(s[i]) ) {
return false;
}
}
return true;
}
가장 먼저 문자 길이가 4와 6이 아닌 것들은 예외처리를 해준다. 그 다음에 반복문으로 s의 요소들을 isNaN으로 검수하여 true값이 나오면 false를 출력하게 하고 그 외는 true를 출력하게 한다.
* isNaN 매서드, 이게 NaN값인지 아닌지 체크
isNaN(123) : false
isNaN("abc") : true
isNaN("0/0") : true
isNaN(Number(0/0)) : true
댓글