본문 바로가기

PS/백준

[BOJ] 백준 25551 멋쟁이 포닉스 (Swift)

반응형

문제

https://www.acmicpc.net/problem/25551

 

25551번: 멋쟁이 포닉스

모두가 알다시피, 포닉스는 포스텍의 대표적인 멋쟁이이다! 포닉스는 멋쟁이답게 흰색 또는 검은색의 마스크, 티셔츠, 바지만을 입는다. 포닉스는 매일 다음과 같은 규칙으로 착장을 고른다. 마

www.acmicpc.net

풀이

옷을 풀셋으로 입는 경우는 두가지 밖에 없습니다.

  1. 흰 마스크, 검정 티, 흰 바지
  2. 검정 마스크, 흰 티, 검정 바지

흰 마스크, 검정 티, 흰 바지 중 최소 개수를 찾으면 1번을 입는 경우이고,
검정 마스크, 흰 티, 검정 바지 중 최소 개수를 찾으면 2번을 입는 경우입니다.

두 경우를 합친다고 구할 수 없습니다.
이틀 연속으로 같은 색의 티셔츠를 입지 않는다규칙이 있기 때문입니다.

만약 1번을 입을 수 있는 경우가 1번, 2번을 입을 수 있는 경우가 3번 이라면?
번갈아서 입기 때문에 2번을 최대 2번 밖에 입을 수 없습니다. (2번, 1번, 2번)

(1번을 입을 수 있는 경우, 2번을 입을 수 있는 경우 + 1) 중 작은
(2번을 입을 수 있는 경우, 1번을 입을 수 있는 경우 + 1) 중 작은 값을 더해서 구할 수 있습니다.

예를 들어 1번을 입을 수 있는 경우가 5이고, 2번을 입을 수 있는 경우가 10이라면?
min(5, 11) + min(10, 6) = 11이 됩니다.

단순히 대소비교를 하지 않고 편하게 구하기 위해 min 함수를 사용했습니다.

소스코드

후기

이틀 연속으로 같은 색의 티셔츠를 입지 않는다는 것에 주의하면 쉽게 풀이할 수 있습니다.

반응형