자료구조 & 알고리즘/프로그래머스

[programmers] Lv0. 피자 나눠 먹기(2) (ps. Lv0도 어려워요) Day4

건강한_개발자 2023. 2. 15. 15:16


1. 나의 풀이

피자를 나눠먹을 사람의 수는 n 이다. 
1.1판은 6조각이므로 1 , 2, 3, 6 명

2. 2판은 12조각 1,2,3,4,6,12명

3. 3판은 18조각 1,2,3,6,9,18명 

이런식으로 약수를 구하는 방식으로 푸는 아이디어를 생각했지만, 제한시간 30분 안에 구현 실패.

 


2. 문제풀이참고 

2. https://www.youtube.com/watch?v=GkG2KflLDBE&t=129s&ab_channel=%EB%9D%BC%EB%A7%A4%EA%B0%9C%EB%B0%9C%EC%9E%90

 

function solution(n) {
    var answer = 0;
    let pizzaCount=1;
    while(true){
        if(pizzaCount *6 % n ===0){
            return pizzaCount;
        }
        pizzaCount++
    }
    
    return answer;
}

3. 좋아요가 가장 많은 풀이(21명)

const solution = (n) => {
    let piece = 6

    while(true) {
        if (piece % n === 0) {
            break
        }
        piece += 6
    }

    return piece / 6
}
  • 피자조각을 6으로 시작한다.
  • while 반복문을 사용하여 조각수 와 사람수를 나누어 0이되면 반복문을 종료하는 방법으로 푼것으로 보인다.