목록분류 전체보기 (108)
-
https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. 수의 위치는 다음을 만족한다. (i, 1)은 (i, 2), (i, M)과 인접하다. (i, M)은 (i, M-1), (i, 1)과 인접하다. (i, j)는 (i, j-1), (i, j www.acmicpc.net 2019년 하반기 삼성 SW테스트 문제다. 이 문제는 시뮬레이션을 풀듯이 풀 수도 있으며, dfs 탐색을 통해 풀 수도 있다. 어..
https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 첫째 줄에 주사위에서 나올 수 10개가 순서대로 주어진다. www.acmicpc.net 2019년 하반기 삼성 SW 테스트 기출문제다. (유형: 브루트포스) 주사위 10개의 눈이 주어지고, 말이 4개가 존재한다. 주사위 눈 하나당 말 4개의 경우가 있으므로 총 4^10 경우의 수가 존재한다. 이는 약 1백만이므로 충분히 브루트포스를 사용해도 된다. 나는 비트 연산을 통해 풀었다. 말이 4개이므로 00, 01, 10, 11로 표현할 수 있는데, 총 10개의 눈이므로 2 x 10 비트가 필요하다. 이는 for문과 비트 shift 연산을 통해 쉽게 구현할 수 있다. 또한 룩업테이블을 노가다스럽긴하지만 구현하여 활용..
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' 로 이루어져 있다. '.'은 빈 칸을 의미하고, '#'은 공이 이동할 수 없는 장애물 또는 벽을 의미하며, 'O'는 구멍의 위치를 의미한다. 'R'은 빨간 구슬의 위치, 'B'는 파란 구슬의 위치이다. 입력되는 모든 보드 www.acmicpc.net 삼성 SW테스트 기출문제다. (유형: BFS) 어차피 관심있는 것은 공들의 위치이므로 공들의 위치와 depth를 관리하는 구조체..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 삼성 SW테스트 기출문제다. (유형: 시뮬레이션 + DFS) 0번부터 최대 5번 판을 기울여 만들 수 있는 수 중 가장 큰 수를 구하는 문제다. 어차피 기울이면 이전과 같거나 더 큰 수가 나올 수 있기 때문에 5번 모두 기울인 경우를 고려해보면 된다. 다음 DFS로 넘어가고나서 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l2Kqg/btqBeAycPTR/LBRTjE84EUuSxQx6K8eZS1/img.png)
삼성SW코딩 테스트를 준비하면서 C++ 유저라면 STL 사용은 필수라고 할 수 있다. 다양한 선형 자료구조 가운데 위 세 개 벡터, 큐, 뎈에 대한 사용법만 안다면 훨씬 쉽게 문제를 풀 수 있다. (알고리즘적인 요소말고) 위 세 STL 사용을 위한 예시를 아래와 같이 정리해둔다. push, push_back, push_front, pop_front, pop_back에 대한 것은 내가 알고있어서 예시 따로 안듬. (사실 큐가 인덱싱으로 접근이 안된다는 거 하나때문에 시작한 이것저것해본 흔적) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 4..
https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따 www.acmicpc.net 삼성 SW테스트 기출 문제다. (유형: 시뮬레이션) 뱀의 머리와 꼬리에 대한 조작이 필요한 시뮬레이션 문제다. 이렇게 양 방향으로 입력/삭제가 ..
https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 삼성 SW테스트 기출문제다. (유형: 그리디) 이 문제는 각 시험장 마다 정 감독관이 무조건 한 명 배치되어야 하고, 남은 인원이 있으면 부 감독관을 1명 이상 투입해도 되는 상황에서 응시자의 수가 시험실마다 주어졌을 때, 필요한 감독관의 최소 명수를 구하는 문제다. 그래서 일단 각 시험실마다 정 감독관을 먼저 고려해주고, 남은 인원이 있다..