글쓰는쿼카의 PM 여정

[Lv.0] 콜라츠 추측, 서울에서 김서방 찾기, 나누어 떨어지는 숫자 배열 본문

개발/알고리즘 & 코딩테스트

[Lv.0] 콜라츠 추측, 서울에서 김서방 찾기, 나누어 떨어지는 숫자 배열

글쓰는쿼카 joymet33 2024. 5. 7. 01:08

1. 콜라츠 추측

- 문제 출처 :  https://school.programmers.co.kr/learn/courses/30/lessons/12943

- 나의 코드 : 

더보기
function solution(num) {
    var answer = 0;
    for(let i = 0; i <= 500; i++) {
        if (num === 1) {
            return i
        } else if (num%2 === 0) {
            num = num / 2;
        } else if (num%2 !== 0) {
            num = num*3 +1;
        }
    }
    return -1
}

 

- 다른 접근법: 추가 조건 시 for문 맨 앞에 두거나, for문이 끝나고 배치


2. 서울에서 김서방 찾기

- 문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12919

- 나의 코드 : 

더보기
function solution(seoul) {
    for (let i=0; i <seoul.length; i++) {
        if (seoul[i] === 'Kim') {
            return '김서방은 '+i+'에 있다'
        }
    }
}

- 다른 접근법 : 영어 대/소문자 명확하게 작성하기


3. 나누어 떨어지는 숫자 배열

- 문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12910

- 나의 코드 : 

더보기
function solution(arr, divisor) {    
    var answer = [];
    for(let i=0; i<arr.length; i++) {
        if (arr[i]%divisor === 0) {
            answer.push(arr[i]);
        }
    }
    // if (answer.length === 0) {
    //     return [-1]
    // }
    // answer.sort((a,b) => a-b)
    return answer.length === 0 ? [-1] : answer.sort((a,b) => a-b);
}
/*
var answer = arr.filter((element) => element%divisor === 0).sort((a,b)=>a-b);
    return answer.length === 0 ? [-1] : answer
*/


/*
sort() 기본 속성? 기능? === 오름차순
sort((a, b) => b - a) 내림차순
*/

-  다른 접근법 : 삼항연산자, sort() 오름차순 주의할 점