[프로그래머스] n개의 최소공배수(C++)

2025. 5. 10. 18:55·개발/알고리즘

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/12953

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

코드 구현

#include <iostream>
#include <string>
#include <vector>

using namespace std;

bool isValid(const vector<int>& arr, int num)
{
    for (int i = 0; i < arr.size(); i++)
    {
        // 배열 원소 중 하나라도 나누어 떨어지지 않으면
        if (num % arr[i] != 0)
        {
            return false;
        }
    }

    // 통과되면 true 반환
    return true;
}

int solution(vector<int> arr)
{
    int answer = 0;
    int max = 0;

    for (int i = 0; i < arr.size(); i++)
    {
        if (arr[i] >= max) max = arr[i];
    }


    int i = 1;
    while (true)
    {
        answer = max * i;

        if (isValid(arr, answer)) return answer;

        i++;
    }
}

 

 

해결 방법

배열 중에서 가장 큰 수 max 를 구하고 max 의 배수 중 배열의 나머지와 모두 나누어 떨어지는 수가 있으면 그 수를 반환한다.

'개발 > 알고리즘' 카테고리의 다른 글

[백준] 회의실 배정(C++)  (1) 2025.05.12
[백준] 평범한 배낭( C++)  (1) 2025.05.12
[프로그래머스] 전력망을 둘로 나누기(C++)  (1) 2025.05.06
[백준] 노드사이의 거리(C++)  (1) 2025.05.04
[백준] RGB거리(C++)  (1) 2025.05.04
'개발/알고리즘' 카테고리의 다른 글
  • [백준] 회의실 배정(C++)
  • [백준] 평범한 배낭( C++)
  • [프로그래머스] 전력망을 둘로 나누기(C++)
  • [백준] 노드사이의 거리(C++)
Majangnan
Majangnan
  • Majangnan
    개발 모코코
    Majangnan
  • 전체
    오늘
    어제
    • 분류 전체보기 (63) N
      • 개발 (62) N
        • C# (10)
        • SQL (3)
        • Unity (8)
        • Unreal (10)
        • C++ (2)
        • Server (1)
        • DX11 (8)
        • 알고리즘 (19) N
  • 블로그 메뉴

    • 홈
    • 방명록
    • 깃허브
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    언리얼
    c++
    Unity
    dx3d
    UnReal
    알고리즘
    블루프린트
    C#
    blueprint
    3dlight
    DirectX11
    MAC
    슈팅게임
    DX11
    Mecanim
    백준
    프로그래머스
    sql
    코딩테스트
    상속
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Majangnan
[프로그래머스] n개의 최소공배수(C++)
상단으로

티스토리툴바