백준 24228번: 젓가락

최창효·2022년 1월 16일
post-thumbnail


문제 설명

  • 최악의 경우가장 많은 젓가락을 꺼내어 R개의 짝을 맞추는 방법으로 해석할 수 있습니다.

접근법

  • 젓가락의 짝이 하나도 맞춰지지 않았다 -> 젓가락 한 세트를 맞췄다 -> 다음 젓가락을 꺼냈다3 단계로 나눠서 문제를 풀 수 있습니다.
  • 7가지 종류의 젓가락을 하나씩 꺼내 3세트를 맞춘다고 가정해 보겠습니다.
    • 7종류를 편의상 빨주노초파남보로 하겠습니다.
    • 1단계에서 최악의 경우는 7개를 꺼냈지만 한세트도 맞추지 못한 상황입니다. ([1,1,1,1,1,1,1]인 상태)
    • 2단계에서는 7종류 중 어떤 젓가락을 꺼내도 한 세트가 완성됩니다. 저는 빨간색 젓가락을 꺼냈다고 해보겠습니다. ([2,1,1,1,1,1,1]인 상태)
      짝이 된 젓가락을 따로 빼 두었다고 생각하면 [0,1,1,1,1,1,1]으로 표기할 수 있습니다.)
    • 3단계는 다음 두 가지 경우가 있습니다.
      1. 빨간색 이외의 젓가락을 꺼낸다.
      2. 빨간색 젓가락을 꺼낸다.
        빨간색 이외의 젓가락을 꺼내면 곧바로 한세트가 완성됩니다. 하지만 빨간색 젓가락을 꺼내면 다시 [1,1,1,1,1,1,1]인 상태가 되어 한번 더 뽑아야 한세트가 완성됩니다.
      • 3단계 에서 최악의 경우는 방금 세트를 맞춘 젓가락이 또 나오는 경우 입니다.

결론

최악의 경우는

  • 'N종류의 젓가락을 모두 한개씩만 뽑은 뒤 R세트를 완성할 때까지 한 종류의 젓가락만 계속 뽑는 경우' 입니다.

정답

N,R = list(map(int,input().split(' ')))
print(N+(2*R)-1)

"""
부연설명
N : N종류의 젓가락을 한개씩 뽑는다
N+1: 1세트가 완성됨, 1세트가 완성되었기 때문에 앞으로 (R-1)세트를 더 만들어야 함
2*(R-1): (R-1)세트를 만들기 위해서는 총 2*(R-1)개의 젓가락이 필요
-> R세트의 젓가락을 만들기 위해 총 (N+1)+2*(R-1)개의 젓가락이 사용됨
(N+1)+2*(R-1) = (N+1)+(2*R-2) = N+2*R-1
"""

profile
기록하고 정리하는 걸 좋아하는 백엔드 개발자입니다.

0개의 댓글