핵공습 – Alphabet War
알파벳소문자들과 대괄호([, ]), 샵기호(#)로 구성되는 문자열을 입력받아 생존하는 문자들을 리턴하는 프로그램을 작성한다.
규칙
인자로 문자열 battlefield
가 주어진다. 이 문자열은 전장의 상황을 묘사하고 있다.
- 문자열은 영어 소문자와 대괄호, 샵으로만 구성된다.
- 각 문자열은 1명의 사람을 표현한다, 샵 문자는 핵폭탄을 표현한다.
- 대괄호로 둘러싸인 부분은 방공호를 의미한다.
공습이 시작되면 모든 핵폭탄이 일제히 폭파한다. 누가 살아남을 수 있을까?
- 핵폭탄이 폭발하는 경우, 방공호 외부의 인원은 모두 사망한다.
- 방공호는 핵폭탄 1개의 위력만 견딜 수 있다. 인접한 지형에서 핵폭탄이 2개 이상 터지만 방공호 내부의 인원도 모두 사망한다.
- “인접한”이란 방공호와 연결된 땅이다. 방공호는 그와 인접한 다른 방공호들 너머의 핵폭탄에는 영향을 받지 않는다고 가정한다.
예시
abc[def]ghj : abcdefghj (폭탄이 없으므로 모두 살아남는다)
a#c[def]ghj : def (폭탄이 1개이므로 외부 인원은 모두 사망한다)
a#c[def]g#j[mno]pqr (_#_[def]_#_ 왼쪽 방공호는 좌우 하나씩, 총 2개의 폭탄으로 인해 파괴된다)
더 보기 »핵공습 – Alphabet War