문제 3563 · 비트 II
메신저 알림이 다시 만날 때
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 사내 메신저의 시험용 대화방에는 두 개의 자동 알림이 등록되어 있다. 첫 번째 알림은 확인하지 않은 업무 목록을 안내하고, 두 번째 알림은 공유 자료를 확인하라는 안내를 보낸다. 관리자는 두 알림의 전송 주기를 시험하기 위해 같은 순간에 두 기능을 켰다. 이 순간을 시작 시각인 0분으로 정한다. 첫 번째 알림은 시작 시각에 한 번 전송된 뒤 A분마다 다시 전송된다. 따라서 시작 후 A분, 2A분, 3A분과 같이 A의 양의 정수 배수인 시각마다 알림이 전송된다. 두 번째 알림도 시작 시각에 한 번 전송되며, 이후 B분마다 전송된다. A와 B는 각각 1 이상 30 이하의 정수이다. 관리자는 두 알림이 동시에 표시되는 화면을 다시 확인하려 한다. 시작 시각에는 이미 두 알림이 함께 전송되었지만, 이번에 구하려는 시각에는 시작 시각을 포함하지 않는다. 시작 후 적어도 1분이 지난 시각 중에서 두 알림이 함께 전송되는 가장 이른 시각을 찾아야 한다. 시험 중에는 어느 알림도 꺼지거나 주기가 바뀌지 않는다. 전송 지연도 없으므로 예정된 시각에 반드시 알림이 도착한다. 한 알림이 먼저 도착하고 다른 알림이 나중에 도착한 경우는 동시에 전송된 것으로 보지 않는다. 정확히 같은 경과 시간에 두 알림이 모두 전송되어야 한다. 어떤 양의 정수 t분 뒤에 첫 번째 알림이 오는지는 t를 A로 나누어떨어지게 할 수 있는지로 판단할 수 있다. 두 번째 알림도 같은 방식으로 판단한다. 두 조건을 모두 만족하는 시각이 여러 개라면 그중 가장 작은 값을 답으로 삼는다. 같은 시각에 알림 두 개가 도착해도 출력할 경과 시간은 하나이다. 두 주기의 곱인 A×B분 뒤에는 반드시 두 알림이 함께 전송되므로 답이 없는 경우는 발생하지 않는다. 두 주기가 같을 수도 있으며, 이 경우에도 시작 시각 이후의 첫 동시 전송 시각을 구한다. A와 B가 주어졌을 때 관리자가 기다려야 하는 시간을 분 단위로 구하는 프로그램을 작성한다.
입력
첫째 줄에 두 알림의 주기를 나타내는 정수 A와 B가 공백으로 구분되어 주어진다. 1 ≤ A ≤ 30 1 ≤ B ≤ 30
출력
시작 시각 이후 두 알림이 처음으로 함께 전송될 때까지의 시간을 분 단위의 정수 하나로 출력한다. 시작 시각인 0은 답에 포함하지 않는다.
예제 입력 1
6 8
예제 출력 1
24
예제 입력 2
9 9
예제 출력 2
9
예제 입력 3
1 13
예제 출력 3
13
힌트 펼치기
- 1부터 A×B까지 확인하면 두 주기로 모두 나누어떨어지는 시각을 반드시 찾을 수 있다.
관련 서재 장
알고리즘 분류
정수론반복문풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |