본문 바로가기

반응형

2018/11/30

(2)
[삼성 기출 문제] 백준 3190 뱀 문제 링크 클릭시 이동합니다! 어떻게 풀까? 대표적인 시뮬레이션 문제입니다.시뮬레이션에서 가장 중요한 것은 순서를 아주 잘 파악해야 한다는 것입니다. 이 문제의 경우에는 순서가 다음과 같습니다. 1. 몸길이를 늘린다.2. 사과가 있으면 사과가 없어지고, 꼬리는 움직이지 않는다.3. 사과가 없다면 몸길이를 줄여서 꼬리가 위치한 칸을 한 칸 비운다. 입니다. 위에 안나와 있어서 햇갈리는 부분은 바로 머리의 회전 입니다. 입력에서 보면, 머리 회전에 관해서 X와 C가 나오는 것을 볼 수 있습니다.그리고, X가 끝난 후에 회전하는 것을 알 수 있습니다! 죽는것은, 벽에 닿거나 뱀의 몸에 닿는 경우이죠. 즉, 모든 조건을 추가하면, 1. 몸길이를 늘린다.2. 사과가 있으면 사과가 없어지고, 꼬리는 움직이지 않는다..
[삼성 기출 문제] 백준 12100 2048 (easy) 문제 링크 클릭시 문제로 이동합니다. 어떻게 풀까? 해당 문제는 크게 2 부분으로 나눌 수 있습니다. 1. 재귀를 이용하여 블록을 위/아래/왼쪽/오른쪽 으로 최대 5번 이동시키는 부분2. 이동시켜서 최댓값이 어떻게 되는지 알아내는 부분 이 중, 1번은 2차원 배열 restore[][]를 이용하면, 기존의 맵을 저장하고 복구하면서 맵을 5번까지 이동시키는 방법으로 구현할 수 있습니다. 가장 중요한건 2번이죠! switch를 쓰면 비슷한 방법을 4번 반복해야하기 때문에, 짧게 이를 해결하는 방법을 소개해드리겠습니다.(물론, 실전에서 이 방법까지 생각하려면 힘들겠지만, 그래도! 여긴 블로그니까요!) 우선, 기본적으로 블록을 이동시키는 방법은 덱을 이용하는 것입니다.덱의 맨 뒤의 수와, 현재 맵에 적혀있는 블록..

반응형