본문 바로가기

BOJ/C++

[BOJ] 17822. 원판 돌리기

* rotate에서는 x의 배수인 원판들을 시계/반시계 방향으로 k번 회전한다. 

* deque를 사용해서 시계방향은 한 원판에서 가장 뒤에 있는 요소를 가장 앞에 삽입한다. (pop_back -> push_front)

반시계방향은 가장 앞에 있는 요소를 가장 뒤에 삽입한다. (pop_front->push_back)

* deque에 저장된 값들을 다시 map에 넣는다. 

* removeNums()에서는 인접한 숫자들을 지운다. 만약, 전체 원판을 통틀어 지울 수가 없다면 평균값에 따라 원판의 값을 조절한다. 

* 각 좌표에서 상 하 좌 우를 살펴봤을 때 같은 수가 있으면 큐에 넣어준다. 만약, 전체 원판을 봤을 때 큐에 아무런 값도 없다면 지울 값이 없다는 것이다. 

* *평균값을 double로 구해줘야 한다. * *

* 지워진 숫자들은 -1로 표시해준다. 

 

 

'BOJ > C++' 카테고리의 다른 글

[BOJ] 16939. 2X2X2 큐브  (0) 2020.04.20
[BOJ] 16932. 모양 만들기  (0) 2020.04.20
[BOJ] 16918. 봄버맨  (0) 2020.04.17
[BOJ] 9328. 열쇠  (0) 2020.04.16
[BOJ] 14391. 종이조각  (0) 2020.04.16