본문 바로가기

Algorithm101

SW 역량 테스트 기출 문제(뱀, 시험 감독) [뱀 _ 3190] * 조건 1. 뱀은 몸 길이를 한칸 늘려 위치시킨다 2. 이동한 칸에 사과가 존재한다면 사과를 없애고 몸의 길이가 늘어난다(해당 칸을 흡수) 3. 사과가 없다면 꼬리를 없앤다(몸의 길이는 변하지 않음) 4. 사과 좌표를 위해 size = n+1로 설정 5. 뱀의 시작 위치는 (1,1) / 처음엔 오른쪽(2차원 배열 시점)으로 전진 6. 좌우 방향의 개념은 뱀의 시선에서 적용해야함 7. 벽 또는 자기자신의 몸통에 부딪히면 종료 * 알고리즘 명령에 맞게끔 방향을 조작해야함 : 시뮬레이션 * 로직(Logic) 우선 2차원 배열에서 사과가 위치하는 곳에 1값을 부여 뱀의 몸통을 담을 좌표 클래스를 생성하고 출발점에 우선적으로 큐에 삽입 방향은 시계방향(위,오,아,왼)으로 설정 요구되는 방향에.. 2019. 10. 7.
SW 역량 테스트 기출 문제(구슬 탈출 2, 2048 easy) [구슬 탈출 2 _ 13460] * 조건 1. 보드를 4개의 방향으로 기울일 때, RedBall과 BlueBall이 동시에 해당 방향으로 기울어져야 함 2. 기울이는 사이클동안 파란공이 탈출하게 되면 실패 3. RedBall과 BlueBall은 겹칠 수 없음 4. 최대 10번까지 움직일 수 있음 * 알고리즘 - 인접한 길을 통해서 이동: BFS - 4개 방향(상,하,좌,우)을 고려해 이동되는 경우의 수를 탐색 및 최소 횟수 찾기 : 브루트포스 * 로직(Logic) - RedBall과 BlueBall의 위치를 한 번에 담아주는 클래스를 생성하고 해당 위치를 담아줌 - 시계방향으로 보드를 기울이기 - 기울여서 각 공이 이동할 때, 벽('#')에 닿거나 목적지('O')에 닿으면 이동을 멈춤 - 각 공마다 이동.. 2019. 10. 7.