[D+94] 항해99 7일차(1) (17~20)

ga_ding·2022년 3월 13일
0

TIL

목록 보기
31/55

19. 수박수박수박수박수박수?

function solution(n) {
    var answer = '';
    for (let i=0; i < n; i++){
        if (i%2 === 0) {
            answer += '수'
        } else {
            answer += '박'
        }
    }
    return answer;
}
  1. 문자열의 반복이라 n까지 반복하는 for문을 사용했다.
  2. 0부터 시작했을 때 0부터 짝수는 '수'를 홀수는 '박'을 더해주는 방법을 이용해줬다.

17. 문자열 다루기 기본

function solution(s) {
    if (! (s.length === 4 || s.length === 6) ){
       return false
     } else {
         let arr = s.split("")
         for (let i = 0; i < arr.length; i++) {
             if (isNaN(arr[i])) {
                 return false
             }
         }
     } return true
}
  1. s의 길이가 4나 6이 아니면 false를 출력하게 했다.
  2. s를 배열로 만들어주고
  3. 배열 안에서 i가 숫자가 아니면 false를 출력하는 매소드를 사용해서 숫자가 아니라면 false를 출력하게 했다.
  4. else안에 반복문들이 끝나고 아닌 것들은 true로 출력했다.

18. 서울에서 김서방 찾기

function solution(seoul) {
    var answer = '';
    let kim = seoul.indexOf('Kim')
    answer = `김서방은 ${kim}에 있다`
    return answer;
}
  1. indexOf(문자열/배열)을 이용해서 몇번째에 위치해 있는지 찾아서 kim이라는 변수를 설정했다.
  2. return값에 kim을 넣어줬다.
  • 다른 사람 풀이
function solution(seoul) {
    for (let i = 0; i < seoul.length; i++) {
        if (seoul[i] === 'Kim') return `김서방은 ${i}에 있다`
    }
}

나랑 같은데 이 사람은 indexOf 매소드가 아닌 반복문을 사용해서 i마다 'Kim'이 들어있는지 찾아서 return해줬다.

20. 완주하지 못한 선수

  • 틀린 답
function solution(participant, completion) {
    var answer = '';
    participant.sort()
    completion.sort()
    for(let i = 0; i < participant.length; i++) {
        if (participant[i] !== completion[i]) {
            answer = participant[i]
        } 
    }
    return answer;
}


흑 이거 봐도 모르겠땅..

  • 맞은 답
function solution(participant, completion) {
    participant.sort()
    completion.sort()
    for(let i = 0; i < participant.length; i++) {
        if (participant[i] !== completion[i]) {
            return participant[i]
        } 
    }
}
  1. participant과completion의 배열을 정렬해주고
  2. 배열에 0부터 순차적으로 배열을 비교하고
  3. 비완주자가 참가자 배열에 나올 경우를 리턴해준다.

오늘 배운 점

  • isNaN함수
    어떤 값이 NaN인지 판별 (NaN : Not-A-Number_숫자가 아님)
isNaN(value)
-> 주어진 값(value)이 NaN이면 true, 아니면 false.
profile
大器晩成

0개의 댓글