문제 출처
백준 15898 - 피아의 아틀리에 ~신비한 대회의 연금술사~
풀이
연금술사 피아가 3개의 재료(4×4 형태)를 적절히 선택하고 배치하여 가마(5×5 격자 모양)에 넣어 만들 수 있는 최대 품질의 폭탄을 만드는 문제였습니다.
품질은 원소와 효능을 합해 구해주어야 합니다.
원소는 R, B, G, Y, W가 있었는데, W인 경우는 아무런 점수도 얻을 수 없고 나머지 품질의 경우는 각 원소별로 효능을 모두 더해
품질 = 7R + 5B + 3G + 2Y 이처럼 곱해주는 작업을 통해 품질을 구해줍니다.
우선 3개의 재료를 고르는 경우는 완탐을 통해 모든 순열의 경우의 수를 고려해주었습니다.
재료를 돌리거나 위치를 다르게 넣어주는 등 재료가 가마에 들어가는 16가지 경우를 모두 배열로 만들어 16 × 16 × 16(3개의 재료이기 때문에)번 for문을 돌려주었습니다.
시간복잡도는 걱정하지 않았던 구현이 복잡한 문제였습니다.
최대한 함수를 사용해보았지만 코드가 너무 지저분하고 복잡해졌습니다..
코드
small-j/BOJ_Algorithm
Contribute to small-j/BOJ_Algorithm development by creating an account on GitHub.
github.com
'BOJ' 카테고리의 다른 글
[BOJ] 1484 - 다이어트 (0) | 2021.01.08 |
---|---|
[BOJ] 20152 - Game Addiction (0) | 2021.01.06 |
[BOJ] 18291 - 비요뜨의 징검다리 건너기 (0) | 2021.01.03 |
[BOJ] 16197 - 두 동전 (0) | 2021.01.02 |
[BOJ] 2502 - 떡 먹는 호랑이 (0) | 2020.12.31 |