생각핀볼 게임을 진행한다. 이 핀볼게임에는 블랙홀과 웜홀, 다양한 모양의 블록이 있다. 1) 블랙홀 블랙홀은 -1로 주어지며 블랙홀에 들어가면 게임이 끝난게 된다. 2) 웜홀 웜홀은 항상 쌍으로 주어지며 6~10번으로 주어진다. 웜홀로 들어가면 쌍을 이룬 다른 웜홀로 나와 진행하던 방향대로 진행한다. 3) 블록 블록은 1~5로 주어지며 아래와 같은 모양을 가지고 있다. 게임을 진행할 때, 맵 둘레의 벽에 부딪히거나 블록에 부딪히면 +1 점을 얻을 수 있을 때, 가장 높은 점수를 구하시오. (단, 핀볼의 시작 위치와 방향은 맘대로 결정할 수 있으며, 게임은 블랙홀에 빠지거나 처음 시작위치에 다시 되돌아오면 끝나게 된다.) 처음 생각우선 시뮬레이션으로 구현을 해주어야하고, 블록의 모양과 웜홀을 관리해줘야 한..
생각미생물이 담긴 N 크기의 배열과 안에 들어있는 미생물 군집들이 주어진다. 군집은 상 하 좌 우중 한 방향으로만 움직이며, N 배열의 가장 바깥줄(경계면)에 도달하면 현 생명력이 반절로 줄어들고 움직이는 방향은 반대 방향이 된다.(소수 단위는 절삭한다) 군집들은 1초에 한 칸씩만 움직이며 M 초동안 움직인다. 군집들이 한 칸에서 만날경우 미생물 수가 합쳐지며 방향은 가장 큰 군집이 가던 방향으로 결정된다. 군집이 서로 지나칠 경우는 만나는 경우가 아니다. 이 때, M 초후에 남아있는 미생물의 수를 구하시오. 이전 생각이전에 풀어보았던 문제인 (모의 SW 역량테스트] 원자 소멸 시뮬레이션) 와 상위호환? 하위호환? 되는 비슷한 문제이다. 요 문제의 경우는 무조건 부딪히는 원자와 다르게 서로 마주보고 있으..
생각체스에서 비숍은 대각선으로 만 이동할 수 있다. 체스판과 비숍을 놓을 수 있는 위치(1)가 주어질 때, 가장 많은 비숍을 놓을 수 있는 수를 구하시오 처음 생각맵에서 비숍을 가장 많이 놓아야하는 문제이므로 DFS를 진행하면서 안 될 경우 백트래킹을 진행하면 된다고 생각하였다. 다음 생각비숍을 놓을 수도 안 놓을 수도있는 자리가 1로 주어지고 아예 못놓는 자리가 0으로 주어지는데 반대로 생각해서 틀렸습니다를 얻었다. 다다음 생각다시 1과 0의 판단을 바꿔준 후, 제출하였지만 시간 초과를 얻었다. 우선 시간 초과를 해결해보기위해서 기존의 배열을 다보는 형식을 처음에 입력 받을 때 놓을 수 있는 위치만 List에 좌표값을 넣어주어 놓을 수 없는 위치는 배제하고 살펴보았다.▶ 좌,우 상향 대각선만 보면 되므..
- Total
- Today
- Yesterday