목록Algorithm/SW 역량테스트 (4)
지나공 : 지식을 나누는 공간
삼성 A형 기출문제인 파이프옮기기 1 입니다. www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 문제에서 절대 빠뜨리지 말고 봐야 하는 부분!! 이거 저만 발견 못 본거겠죠? 하..ㅋㅋ 앞으로 문제를 더 제대로 읽어야 겠네요. 옮기는 건 BFS 방식을 사용해서 가로, 세로, 대각선 방향으로 이동하면 됩니다. 현재 놓여진 방향에 따라서. 저는 위 형광펜 문장을 놓쳐서 엄청 오래 풀었어요. 대각선 방향 이동 시 체크할 칸이 더 있다. 가로..
삼성 기출문제인 뱀입니다. www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net #include #include #include using namespace std; int map[101][101]; int n, k, l, t; int now_d = 1; deque snake; vectorv; //상우하좌 int dx[4] = { -1, 0, +1, 0 }; int dy[4] = { 0, +1, 0, -1 }; bool getAns; bool canMove() { int..
BFS로 풀었고, 난이도는 그렇게 어렵지 않지만 문제 풀이 절차를 잘 파악해야 하는 문제라고 생각합니다. 문제출처 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 저는 함수를 사용해서 복잡한 풀이 절차를 나눴습니다. 전체적인 풀이 방식 처음 입력 받은 배열(origin)을 다른 배열(map)에 복사하고, map에서 매번 다른 위치에 3개의 벽을 설치한 뒤 바이러스를 퍼뜨려 보면서 안전지대 크기를 비교합니다. 1. 맨 처음 배열을 origin에 저장하고 0..
나무재테크 문제는 삼성SW역량테스트 기출문제로, 난이도 Gold4의 시뮬레이션 문제였습니다. (문제출처 : https://www.acmicpc.net/problem/16235 ) 일단, 문제를 읽으면서 필요한 변수를 생각해봅시다. 개요부분과 주 내용, 두 부분으로 나눠서 살펴볼게요. 1. 입력받은 값에 따라 땅의 크기가 정해집니다. 하지만 N의 최댓값이 크지 않다면 동적할당으로 하나씩 할당하지 않고, 처음부터 최댓값만큼의 크기로 배열을 선언합니다. 2. r,c가 1부터 시작하므로 각각 1~N까지의 값을 가집니다. 따라서 위에서 말한 이차원 배열의 크기 [11][11] 로 했습니다. 3. 땅을 표현할 이차원배열이 필요합니다. 전부 5로 초기화합니다. → int ground[11][11]; 4. 같은 칸에 ..