목록전체 글 (217)
Study hard

www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모�� www.acmicpc.net [풀이] 문제에 있는 규칙대로 구현하면 되는 문제였다. 구현 순서 1. 국경선 열기 2. 인구 이동 3. 연합 해체, 국경선 닫기 1. 국경선 열기 - vectorUnion[1250]을 선언하여 사용하였다. (County 구조체는 나라의 위치와 인구수 포함, 1250은 50*50배열에서 나올 수 있는 최대 연합의 수) - dfs를 이용해서 서로 인접한 나라의 인구 수 차이가 L이상 R이하인 경..

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

www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net [풀이] 문제에 주어진 규칙대로 구현하면 되는 문제였다. 1. 감시카메라들 방향 결정 2. 감시구역 표시 3. 사각지대 크기 구해서 최솟값 갱신 1. 감시카메라들 방향 결정 - dfs로 모든 감시카메라들의 방향 경우의 수를 탐색 - 처음에 사무실 상태를 입력 받으면서 감시카메라 위치와 종류를 벡터에 동시에 저장하였다. - 벡터에 저장한 순서대로 감시카메라 방향을 결정하였다. - 방향은 cctvDi..

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/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net [풀이] 2020상반기 인턴 sw역량테스트에 나왔던 문제다. 1번 문제 푸느라 제대로 풀지 못했다.. 다음과 같은 순서로 구현하였다. 1. 가까운 승객 찾기 2. 승객에게 이동: oil-출발지까지 이동거리, 택시 위치 승객 출발지로 3. 목적지로 이동: oil-목적지까지 이동거리 4. 남은 오일이 0보다 작으면 -1출력 후 끝, 0 이상이면 oil+목적지까지 이동거리*2 ..