줄기세포배양

https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRJ8EKe48DFAUo&categoryId=AWXRJ8EKe48DFAUo&categoryType=CODE

풀이

  1. 전체 map size를 450 * 450 으로 하고 초기 위치를 i+175, j+175로 하였다. ( 왜?? )

  2. 생명력을 저장하고, 활성 상태를 체크하기 위해 map(450)(450)(0) 에는 생명력을, map(450)(450)(1) 에는 생명력*2를 저장한다. map(450)(450)(1) < map(450)(450)(0) 이 되면 활성상태가 되므로, 확장시킨다.

  3. 생명력 수치가 높은 줄기 세포를 먼저 확장 시키기 위해, 생명력에 따른 Queue를 저장하는 배열을 생성한다.

    arr[1] : 생명력이 1인 줄기 세포의 좌표를 저장하는 Queue

    arr[2] : 생명력이 2인 줄기 세포의 좌표를 저장하는 Queue

    arr[10] : 생명력이 10인 줄기 세포의 좌표를 저장하는 Queue

  4. 생명력이 10인 큐 ~ 생명력이 1인 큐를 순차적으로 확인한다.

  5. 큐에 저장되어 있는 줄기세포를 하나씩 remove하여 활성화되어있는지 체크하여 확장한다.

Comments