본문 바로가기

코딩테스트/프로그래머스

[프로그래머스] 코딩테스트 입문 Day4

728x90
반응형
  • Day4 수학, 배열
    • 피자 나눠 먹기(1)
    • 피자 나눠 먹기(2)
    • 피자 나눠 먹기(3)
    • 배열의 평균값
// 피자 나눠 먹기 (1)
int solution(int n) {
    if (n%7 == 0){
        return n/7;
    }else{
        return n/7+1;
    }
}

// 피자 나눠 먹기 (2)
int solution(int n) {
    int min = n <= 6 ? n : 6;
    
    for(int i=min; i <= n*6; i++)
    {
        if(i%n == 0 && i%6 == 0)
        {
            return i / 6;
        }
    }
}

// 피자 나눠 먹기 (3)
int solution(int slice, int n) {
    if (n%slice == 0){
        return n/slice;
    }else{
        return n/slice+1;
    }
}

// 배열의 평균값
double solution(vector<int> numbers) {
    double answer = 0;
    
    for(int i=0; i<numbers.size(); i++){
        answer += numbers.at(i);
    }
    
    return answer/numbers.size();
}

피자 나눠 먹기 (1)과 (3)은 사실상 동일한 문제였다. 수학적으로 좀 더 생각했으면 한 줄로도 가능한 문제였는데 아쉽...

피자 나눠 먹기 (2)는 최소 공배수 구하는 문제였고 배열의 평균값은 for문 돌려서 풀었는데 배열의 합을 구하는 accumulate 함수가 있었다. 지식+1

728x90
반응형