항해14기 온보딩/항해14기 온보딩 개발일지

[항해14기] 온보딩 개발일지 9 2023/03/15

스쿼트잘함 2023. 3. 15. 19:04

프로그래머스 기본 알고리즘 풀이

 

5일차문제

1.

function solution(array, height) {
    let answer = 0;
    let a = []
    for (i=0; i < array.length; i++){
        if(array[i] > height){
            a.push(array[i])
        }
    }
    answer = a.length
    return answer;
}

 

 

2.

function solution(numbers) {
    let answer = [];
    answer = numbers.map((c) => c*2)
    return answer;
}

 

 

3.

function solution(sides) {
    let answer = 0;
    let a = sides.sort((a,b)=> b-a)
    return answer = (a[0] < a[1]+a[2]) ? 1 : 2
    
}

 

 

4.

function solution(array) {
    array.sort((a,b)=> a-b)
    return array[Math.floor(array.length/2)]

}

 

 

5.

function solution(n) {
    let answer = [];
    for (i=1; i<=n; i++){
        if (i%2 === 1){
            answer.push(i)
        }
    }
        
    return answer;
}

 

 

6.

function solution(s1, s2) {
    let answer = 0;
    let a = []
    for ( const item of s2) {
        for (const item2 of s1){
            if(item===item2){
                a.push(item2)
            }
        }
    }
    return answer=a.length;
}

 

 

 

6일차문제

1.

function solution(n) {
    let answer = 0;
    let a = n.toString()
    let b = a.split('')
    for (i=0; i<b.length; i++){
        answer += Number(b[i])
    }
    return answer;
}

 

 

2.

function solution(n) {
    let answer = 0;
    let a = []
    for (i=1; i<=n; i++){
    if(n%i===0){
        a.push(i)
    }
    }
    return answer=a.length;
}

 

 

3.

추후에 순수 함수로 다시 풀어볼 예정

 

 

4.

function solution(my_string) {
    let answer = 0;
    let a = my_string.split('')
    let b = []
          
    for (i=0; i<a.length; i++){
        if (!isNaN(a[i])){
            b.push(a[i])
        }
    }
   for (i=0; i<b.length; i++){
       answer += Number(b[i])
   }
    
    return answer;
}

 

 

5.

function solution(my_string) {
    let answer = [];
    let a = my_string.replace(/[a-z]/gi,'').split('')
   
    let b = a.map((item) => Number(item))
    answer = b.sort()
    console.log(a)
    
    return answer;
}

 

 

 

백준

1. 2839번 설탕 배달

 

let value = parseInt(require('fs').readFileSync('dev/stdin').toString());

 function solution(n){
  if (n === 4){
    return -1
  } else if(n === 7) {
    return -1
  } else if(n%5 === 0){
    return n/5
  } else if(n%5 === 1){
    return (n-6)/5+2
  } else if(n%5 === 2){
    return (n-12)/5+4
  } else if(n%5 === 3){
    return (n-3)/5+1
  } else if(n%5 === 4){
    return (n-9)/5+3
  }
}
console.log(solution(value))