목록백준/시뮬레이션,구현 (22)
Study hard

www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net [풀이] 풀이를 생각하는 것 자체는 어렵지 않지만 하드코딩이다보니 실수하기도 쉽고 오류 찾기가 쉽지 않았다.. 반례를 봐도 찾기 어려워서 백준 질문하기에 누군가 올려둔 큐브 사이트에 들어가서 하나하나 돌려보며 내 코드의 결과와 비교해보고 겨우 찾아냈다. 구현 방법 - 큐브전체를 한 배열 담지 않고 윗면, 아랫면, 앞면, 뒷면, 오른면, 왼면 각각 3*3배열을 만들었다. - 각각 면을 돌렸을 때 다른 면들의 상태가..

www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net [풀이] 문제에 적힌 규칙대로 시뮬레이션 해주면 되는 문제다. -사과의 위치는 Map[N+1][N+1]배열에 1로 표시해 주었고, 뱀이 있는 자리는 bool Snake[N+1][N+1]에 ture로 표시해 주었다. -꼬리의 소재를 알기 위해 queues에 뱀의 위치정보를 넣어주고, 꼬리가 이동하면 pop해주었다. -몇 초 후에 어떤 방향으로 바뀌는지에 대한 정보는 char Change[10001]에 인덱스를 초로 두고..

www.acmicpc.net/problem/19235 19235번: 모노미노도미노 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net [풀이] 문제에 나온 조건대로 시뮬레이션을 하는 문제였다. struct 배열을 이용하여 블록 정보를 넣는 순서대로 저장하였다. 빨간색 보드는 따로 만들지 않고 바로 초록색 블록과 파란색 블록에 블록을 넣는 방법으로 풀었다. 꽉찬 행이나 열을 먼저 다 지우고 블록들을 이동시켜주었다 구현한 것 - 블록을 초록색 보드와 파란색 보드에 세팅하는 setBlock() - 초록색 보드에 타일로 꽉찬 행이 있는지 확인..

www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net [풀이] 2020상반기 인턴 sw역량평가에 나왔던 문제. 당시에는 자료구조를 잘못 써서 계속 틀렸다. 문제에 주어진대로 시뮬레이션 하면 된다. 다음의 순서로 구현하였다. 1. 모든 상어가 자신의 위치에 냄새를 뿌린다. 2. 1초마다 모든 상어가 조건대로 이동(방향 우선순위 따라 먼저 빈 칸 찾고, 없으면 우선순위 따라 자신의 냄새가 있는 곳 찾기) 3. 겹치는 상어들..