메이쁘

(JAVA) 백준 17837번 : 새로운 게임 2 본문

Algorithm/Baekjoon

(JAVA) 백준 17837번 : 새로운 게임 2

메이쁘 2020. 5. 9. 18:13

 

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

 

17837번: 새로운 게임 2

재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하�

www.acmicpc.net

 

 

 

삼성 기출 문제이다.

 

 

구현하기 위해 필기해둔 노트를 잃어버려 

 

간단하게만 작성하겠다.

 

 

자세한 사항들은

 

소스코드 내 주석으로 달아놨기 때문에

 

주석을 참고하면 좋을듯 하다.

 

 

 

 

체스판 색깔 별 조건을 만족시키기 위해

 

Deque를 사용했다.

*** Deque에 대한 내용은 하단 게시글을 참고하시길 바란다.

 

https://maivve.tistory.com/103

 

(JAVA) 백준 16235번 : 나무 재테크

https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어..

maivve.tistory.com

 

그래서 이동하는 체스말 위의 말들을 함께 이동시키거나

 

역순으로 다음 이동하는 체스판에 옮길 때

 

pollFirst() - offerFirst()

pollLast() - offerLast()

 

를 적절히 사용했다.

 

 

또, 임시 Deque를 만들어 Copy도 하였다.

 

 

 

다음,

 

파란색 체스판을 구현하기 위해

 

별도의 boolean을 사용했다.

 

그 이유는

 

움직이는 함수를 두 개 만들 필요 없이

 

하나의 함수만 가지고 사용하기 위해서.

*** 체스판 앞뒤가 파란색일 수 있다.

 

 

 

감사합니다.

 

소스코드


 

Comments