본문 바로가기
Python/알고리즘

[COS PRO 2급 #5-5] n일장이 함께 열리는 날은 언제인가요.

by 포푸리 (POPOOLY) 2023. 2. 6.
반응형

문제설명

O일장은 O일마다 열리는 시장을 뜻합니다. 예를 들어 오늘 4일장이 열렸다면, 다음 4일장은 4일 뒤에 열립니다. 오늘부터 a일장과 b일장 제도를 시행하려 합니다. 정수 a, b가 주어졌을 때, a일장과 b일장이 같이 열리는 날은 며칠에 한 번씩 있는지 구하려 합니다.

예를 들어, a가 4이고 b가 6이라면 시장은 다음과 같이 열립니다.

 

a와 b가 매개변수로 주어질 때, a일장과 b일장이 같이 열리는 날은 며칠에 한 번씩 있는지 return 하도록 solution 함수를 작성했습니다. 그러나, 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 **한 줄**만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.

매개변수 설명

a일장이 열리는 주기인 a와 b일장이 열리는 주기인 b가 solution 함수의 매개변수로 주어집니다.

* a와 b는 1 이상 30 이하인 자연수입니다.

return 값 설명

a일장과 b일장이 같이 열리는 날은 며칠에 한 번씩 있는지 return 해주세요.

예시

| a | b | return |
|--------|--------|--------|
| 4     | 6      | 12     |

예시설명

문제의 예와 같습니다.

문제 코드

def solution(a, b):
    answer = 0
    for i in range(1, b + 1):
        if (a * i) % b == 0:
            answer = b * i
            break
    return answer

풀이

def solution(a, b):
    answer = 0
    # a와 b의 최소공배수 구하기
    # a에 1부터 b까지 곱해 b로 나뉘어지는 최소 숫자를 구하는 방식
    for i in range(1, b + 1):
        if (a * i) % b == 0:
            answer = a * i
            break
    return answer

댓글