알고리즘/삼성 기출 6

[백준/C++] 23288번 주사위 굴리기2 - 삼성SW기출

문제 : https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net [ 시뮬레이션 + BFS ] 이번 문제 또한 아주 친절하게 문제가 설명하는대로만 짜면 되는 문제이다.. 그런데 주사위 방향을 어떻게 매번 돌릴지...? 를 너무 오랫동안 고민했다 🤣 int dice[7] = { 0,1,2,3,4,5,6 }; int d1 = dice[1]; int d2 = dice[2]; int d3 = dice[3]; int d4 = dice[4]; i..

[백준/C++] 21610번 마법사 상어와 비바라기 - 삼성SW기출

문제 : https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net [ 시뮬레이션 ] 이 문제는 BFS나 DFS도 필요없는 찐찐찐 시뮬레이션 문제다. (지금까지 푼 것 중에 가장 쉬움..) 위의 과정 그대로 짜면 정말 끝이다. 1) 구름 이동 : 1번째 행-N번째 행, 1번째 열-N번째 열이 연결 되어 있는 부분만 조심 하면 된다. if (ny N) ny -= N; if..

[백준/C++] 23289번 온풍기 안녕! -삼성SW기출

문제 : https://www.acmicpc.net/problem/23289 23289번: 온풍기 안녕! 유난히 추운 날씨가 예상되는 이번 겨울을 대비하기 위해 구사과는 온풍기를 설치하려고 한다. 온풍기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기 www.acmicpc.net [ BFS + 시뮬레이션 ] 바람이 나오는거, 온도 조절하는건 별로 문제가 안되었는데 벽의 유무에 따라 바람이 나가지도, 조절되지도 않는 부분 짜는게 가장 생각하는 시간이 많이 들었다 : 해당 좌표에 0과 1로 방향포함 벽 정보 저장 queue q; //오, 왼, 위, 아래 : 온풍기 방향=d const int dy[5] = { 0,0,0,-1,1 }; const int dx[5] = {..

[백준/C++] 23290번 마법사 상어와 복제 - 삼성SW기출

문제 : https://www.acmicpc.net/problem/23290 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 오늘 푼건 계속 바꿔풀었음에도 무려 시간초과가 2번이나 뜬,, 23290번 마법사 상어와 복제 입니다.. 이 문제는 시뮬레이션+DFS 유형으로 사실 문제에서 제시한 순서대로 알고리즘을 짜면 됩니당 * 푸는 과정에서의 시간초과 1) 첫 번째 시간초과 상어가 이동하는 루트를 계산할 때 처음엔 '상상상~우우우' 까지의 모든 방법, 즉 64가지 방법을 중복순열로..

[백준/C++] 14502번 연구소 - 삼성 SW 기출

문제 : https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 이 문제는 2년 전에도 몇번이나 풀었던 문제라 정말 오랜만에 봤지만 바로 풀었다. (중간에 6중 for문에서 정신나간 변수 실수를 해서 애먹긴 했지만 ㅎㅎ;) BFS 기반 시뮬레이션인 이문제는 6중 for문으로 벽을 3개 돌아가면서 세우고 BFS만 해주면 되는 아주아주 간단한 문제다 :3 #include #include #include #include using namespace std; int N,..

[백준/C++] 13460번 구슬 탈출2 - 삼성SW기출

문제 : https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 오늘 포스팅은 설 전에 풀고 깜빡하고 업로드 못했던 구슬탈출2 삼성기출 문제도 슬슬 시작하려는데 이 문제 호기롭게 시작했다가 너무 어려워서 뿌앵파티했다 ㅠ ㅠ 결국 예전에 풀었던 코드 참고 하면서 풀었다,,,,,,, 주말에 이 문제 안보고 다시 풀어볼꺼다 흑흑 이 문제로 내가 복기해보는 시뮬레이션 + BFS 문제 풀때 스킬 및 이 문제 푸..