[백준] 1476번(날짜 계산)

·2023년 6월 22일

백준 문제풀이

목록 보기
93/159

백준 1476번


최종 제출 코드

array = [15,28,19]
inputs = list(map(int, input().split()))

i = 0

if inputs[0]==array[0] and inputs[2]==array[2]:
  while True:
    if (i*array[1]+inputs[1]) % array[0] == 0 and (i*array[1]+inputs[1]) % array[2] == 0:
      print(i*array[1]+inputs[1])
      break
    i += 1

elif inputs[0]==array[0]:
  while True:
    if (i*array[1]+inputs[1]) % array[0] == 0 and (i*array[1]+inputs[1]) % array[2] == inputs[2]:
      print(i*array[1]+inputs[1])
      break
    i += 1

elif inputs[2]==array[2]:
  while True:
    if (i*array[1]+inputs[1]) % array[0] == inputs[0] and (i*array[1]+inputs[1]) % array[2] == 0:
      print(i*array[1]+inputs[1])
      break
    i += 1

else:
  while True:
    if (i*array[1]+inputs[1]) % array[0] == inputs[0] and (i*array[1]+inputs[1]) % array[2] == inputs[2]:
      print(i*array[1]+inputs[1])
      break
    i += 1

◼ 처음에는 단순하게 if분기절 내에 적힌 코드만 작성하여 제출

  • 나타난 날짜가 주기와 일치할 경우 나눈 몫이 array[i]와 일치하지 않고 0이 됨
    ⇒ 조건 분기하여 각자 다른 조건검사를 하는 while문을 실행한다
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글