본문 바로가기

IT To do and To was

코테연습 2일차 (프로그래머스 문제)

728x90
반응형

이번 한주는 피곤하기도 하고 좀 쉬운 것만 할 예정이다.

 

타인의 빼먹을만한 코드는 없을듯..ㅜ

 

1. n 번째 원소까지

 

내가 한 풀이

for(var i=0 ; i < n ; i++){
        answer.push(num_list[i])
    }

남이 한 풀이

num_list.slice(0, n);

 

2. 순서 바꾸기

 

내가 한 풀이

function solution(num_list, n) {
    var answer = [];
    var ex = [];
    var afr =[];
    for(let i = 0 ; i < num_list.length; i++){
        if(n <= i){
            afr.push(num_list[i]);
        }else{
           ex.push(num_list[i]); 
        }
    }
    return [...afr, ...ex];
}

 

남이 한 풀이

num_list.slice(n).concat(num_list.slice(0,n));
 const num_list2 = num_list.splice(n)
    return [...num_list2, ...num_list]

 

3. n번째 원소부터

 

내가 한 풀이

var answer = [];
    for(let i = n-1 ; i < num_list.length ; i++){
        answer.push(num_list[i])
    }
    return answer;

 

남이 한 풀이

num_list.slice(n - 1)

 

3. 첫번째로 나오는 음수 

 

내가 한 풀이

for(let i = 0 ; i < num_list.length ; i++){
        if(num_list[i] < 0){
            return i
        }
    }
    return -1

남이 한 풀이

var answer = num_list.findIndex(x => x < 0);
    return answer;

 

4. 카운트 다운

 

내가 한 풀이

var answer = [];
    for(let i = start_num ; i > end_num-1 ; i--){
        answer.push(i)
    }
    return answer;

남이 한 풀이

 const arr = [];
    for(let i=start; i>=end; i--){
        arr.push(i);
    }
    return arr;

 

5. 배열만들기 1

 

내가 한 풀이

 var answer = [];
    let base = k;
    do{
        answer.push(k)
        k += base
    }while(k <= n)
    return answer;

남이 한 풀이

function* multiple(n, k) {
  let value = 0;
  while (value + k <= n) {
    yield (value += k);
  }
}

function solution(n, k) {
  return [...multiple(n, k)];
}

 

제너레이터를 사용한 건데 

제너레이터는 여러 값을  필요에 따라 반환하는 것인데

 

....

 

어우 피곤해..

728x90
반응형

'IT To do and To was' 카테고리의 다른 글

코테연습 4일차  (0) 2024.08.29
코딩테스트 연습 3일차  (0) 2024.08.28
2주 동안 코테 준비 시작합니다.  (0) 2024.08.27
22년 12월 29일_마지막  (0) 2022.12.29
22년 12월 24일_시스템 분석설계  (0) 2022.12.24