일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Web
- 코드 리뷰
- c++
- pass
- Level 4
- Gold 5
- Level 2
- Gold 4
- 2020 카카오 인턴십
- 브루트포스
- BFS
- 그리디
- 삼성 SW 역량 테스트
- 2020 KAKAO BLIND
- 백준
- SWEA
- 백트래킹
- 구현
- 2019 KAKAO BLIND
- 월간 코드 챌린지
- 코드리뷰
- 부스트코스
- 시뮬레이션
- level 1
- 스택/큐
- DFS
- next_permutation
- DP
- 프로그래머스
- Level 3
- Today
- Total
목록Gold 5 (8)
Min:D's Devlog
문제 백준 삼성 SW 역량 테스트 기출 문제 - 3190 뱀 (Gold 5) 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 풀이 접근 방식 사과의 위치와 뱀의 이동경로가 주어질 때, Dummy 게임이 몇 초에 끝나는 지를 구하는 문제이다. 게임 시작 시, 뱀은 맨 위 맨 좌측에 위치하며, 다음과 같이 이동한다. 우선, 입력값을 받아 map에 사과의 위치의 값을 -1로 저장해주었고, 방향 전환 시기와 방향을 각각 X, C 벡터에 저장해주었다. 뱀은 맨 앞의 값을 조회하고, 맨 앞에 값을 추가하고, 맨 뒤의 값을..
문제 백준 삼성 SW 역량 테스트 기출 문제 - 14499 주사위 굴리기 (Gold 5) 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 문제 풀이 접근 방식 이 문제는 주사위를 규칙에 맞게 굴려 윗면의 수를 출력하는 시뮬레이션 문제였다. 우선, 아래의 전개도에 적혀 있는 숫자가 벡터의 인덱스를 의미하고, 인덱스 5가 주사위의 아래쪽인 dice 벡터를 만들어주었고, 모든 값을 0으로 초기화해주었다. 그리고 move 함수를 만들어 주사위를 이동시켜..
문제 백준 삼성 SW 역량 테스트 기출 문제 - 14500 테트로미노 (Gold 5) 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net 문제 풀이 접근 방식 아래의 테트로미노 중 하나를 회전하거나 대칭하여 주어진 종이에 놓았을 때, 놓인 칸에 쓰인 수들의 합의 최댓값을 구하는 문제이다. 우선, 각 테트로미노들을 회전하거나 대칭한 모양대로 탐색을 수행해야하기 때문에, 총 19개의 테트로미노들을 다음과 같이 구현하였다. int dir[5][2] = { {-1,0},{0,1},{1,0},{0,-1},{-1,1} };..
문제 백준 삼성 SW 역량 테스트 기출 문제 - 14502 연구소 (Gold 5) 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 문제 풀이 접근 방식 이 문제는 벽 3개를 세운 뒤, 얻을 수 있는 안전 영역 크기의 최댓값을 구하는 문제이다. 우선, 3중 for문으로 벽 3개를 세운 뒤, DFS 함수를 만들어 바이러스를 퍼뜨려주었다. (입력 받을 때, 바이러스의 위치를 저장하여 BFS 방식으로 바이러스를 퍼뜨려줘도 된다.) 그 후, map에 있는 0의 개수를 세어 안전 영역의 크기를 구해주었다. 이 값을 max값과 비교하..
문제 백준 삼성 SW 역량 테스트 기출문제 - 14503 로봇 청소기 (Gold 5) 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 풀이 접근 방식 로봇 청소기가 아래와 같이 작동할 때, 청소하는 영역의 개수를 구하는 문제이다. 이 문제는 위의 작동 방식대로 로봇 청소기를 구현하는 시뮬레이션 문제였다. 그래서 while문을 사용하여 조건대로 구현해주었다. 우선, 현 위치의 값이 0이면(청소가 되어있지 않으면) 값을 2로 바꿔주고 answer++를 수행하였다. 그 후, 네 방향을 왼쪽부터 탐색하며 다음으..
문제 백준 삼성 SW 역량 테스트 기출 문제 - 15684 사다리 조작 (Gold 5) 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 문제 풀이 접근 방식 사다리에 가로선을 추가하여 i번 세로선의 결과가 i번이 나오도록 조작할 때, 추가해야 하는 가로선 개수의 최솟값을 구하는 문제이다. 우선 H×N 크기의 map 벡터를 만들어 사다리의 가로선들을 저장해주었다. 가로선의 왼쪽 부분과 오른쪽 부분을 구분해주어야 하기 때문에, 왼쪽 부분은 1, 오른쪽 부분은 -1로 저장하였다. 그 후, DFS 방식으로 탐색하여 ..
문제 백준 삼성 SW 역량 테스트 기출 문제 - 15686 치킨 배달 (Gold 5) 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 풀이 접근 방식 이 문제는 폐업시키지 않을 치킨집을 최대 M개 골랐을 때, 도시의 치킨 거리의 최솟값을 구하는 문제이다. 이 문제를 풀기 위해 필요한 정보는 집의 위치와 치킨집의 위치이다. 그래서 입력을 받을 때 map을 만들어 값을 저장하지 않고, 집의 위치와 치킨집의 위치만 저장해주었다. 그 후, next_permutation을 활용하여 치킨집을 M..
문제 백준 삼성 SW 역량 테스트 기출 문제 - 15683 감시 (Gold 5) 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 문제 풀이 접근 방식 이 문제는 CCTV의 방향을 적절히 정해서, 사각 지대의 최소 크기를 구하는 문제이다. CCTV는 아래와 같이 번호에 따라 감시하는 방향이 다르다. 어느 방향으로 CCTV를 설치했을 때 사각 지대가 최소가 되는 지 구하는 문제이기 때문에, DFS 함수를 만들어 모든 CCTV의 설치 방향(4방향)에 따른 사각 지대의 크기를 구해주었다. DFS 함수에서..