같은 날 동시에 가입한 3명의 사람들이 온라인 채점시스템에 들어와 문제를 푸는 날짜가 매우 규칙적이라고 할 때, 다시 모두 함께 문제를 풀게 되는 그날은 언제일까?
예를 들어 3명이 같은 날 가입/등업하고, 각각 3일마다, 7일마다, 9일마다 한 번씩 들어온다면, 처음 가입하고 63일 만에 다시 3명이 함께 문제를 풀게 된다.
입력
같은 날 동시에 가입한 인원 3명이 규칙적으로 방문하는, 방문 주기가 공백을 두고 입력된다. (단, 입력값은 100이하의 자연수이다.)
3 7 9
출력
3명이 다시 모두 함께 방문해 문제를 풀어보는 날(동시 가입/등업 후 며칠 후?)을 출력한다.
63
<풀이>
더보기
내가 쓴 풀이
a, b, c = map(int, input().split())
day = 1
while True:
if (day%a == 0) and (day%b == 0) and (day%c == 0):
print(day)
break
day += 1
day를 0으로 하고 풀었더니 이상한 결과가 나와서 이리저리 해보던 중, 갑자기 왜 day가 0이야? 싶어서 1로 했더니 바로 풀렸다;;
강의 풀이
a, b, c = map(int, input().split())
# 1번 풀이
day = 1
while day%a != 0 or day%b != 0 or day%c != 0:
day += 1
print( day )
# 2번 풀이
day = 1
while 1:
day += 1
if day%a == 0 and day%b == 0 and day%c == 0: break
print( day )
<풀이 비교>
조건식을 어떻게 짜냐만 잘 생각해보면 되는 것 같다.
문제를 읽고 바로 최소공배수를 떠올렸고 최소공배수의 조건을 생각해내서 잘 풀었던 것 같다.
매우 뿌듯😁
'Python > CodeUp' 카테고리의 다른 글
코드업 기초 100제 94번 - 이상한 출석 번호 부르기2 (0) | 2021.11.26 |
---|---|
코드업 기초 100제 93번 - 이상한 출석 번호 부르기1 (0) | 2021.11.26 |
코드업 기초 100제 91번 - 수 나열하기3 (0) | 2021.11.22 |
코드업 기초 100제 90번 - 수 나열하기2 (0) | 2021.11.22 |
코드업 기초 100제 89번 - 수 나열하기1 (0) | 2021.11.22 |