현생/백준 온라인 저지

문제 내용문제 링크 우리가 아는 그 주사위가 있다. 또, (N*M)의 지도가 있다. 주사위의 초기 숫자는 모두 0이며, 놓여진 위치는 x,y로 주어진다. 규칙은 다음과 같다.주사위가 이동할 때, 이동한 (지도의) 칸이 0이라면 주사위 바닥면에 쓰여 있는 수가 칸에 복사된다.0이 아니라면 칸에 쓰여있는 수가 주사위의 바닥면으로 옮겨진다. (칸은 0이 된다)주사위는 지도 바깥으로 이동할 수 없다. (즉 바깥으로 이동하는 명령은 무시한다.)주사위의 초기 좌표, 지도가 주어졌을 때 각 명령에 대해, 명령대로 이동한 다음 주사위 윗 면의 수를 출력한다.  문제 풀이역시나 삼성 코딩테스트 기출 문제인 만큼 구현에 집중하자. 본인은 주사위의 인덱스에 집중했다. /* 초기값 인덱스 * X 1 X X 0..
문제 설명문제 링크 집은 격자판 (R*C)로 나타낸다. 로봇청소기는 항상 첫 번째 열에만 위치하고, 두 개의 행을 차지한다. 다시 말해, (2*1)의 크기이다.  또 각 칸에 있는, 0초 시점의 미세먼지가 주어진다. 미세먼지는 확산 가능한데, 이는 매초마다 이뤄지며 동시에 일어난다. (r,c)에 있는 미세먼지는 인접한 네 방향으로 확산되고, 인접한 방향이 공기청정기나 벽으로 막혀있다면 확산이 발생하지 않는다. 확산되는 양은 A(r,c)/5이고 소수점은 버린다. (r,c)에 남은 양은 기존 미세먼지 양에 확산된 총량을 제한 크기이다. 미세먼지가 확산되고 나서, 공기청정기가 작동한다. 공기청정기에서는 바람이 나오는데, 위쪽 공기청정기는 반시계 방향, 아래쪽 공기청정기는 시계방향으로 순환한다. 바람의 방향대로..
세상 매우 귀찮게 구현해야하는 문제를 이렇게 짧은 지문만으로 제시하는 것도 출제자의 역량이라 생각한다.문제 설명문제 링크삼성 코딩테스트 대비 문제집에 있는 문제로, 문제 자체는 간단하다. 우리가 흔히 아는 3*3*3의 정육면체 큐브가 주어지고, 이 큐브를 주어진 방법대로 돌린다. 예를 들어, U+는 윗 면을 시계 방향으로 돌린다.  문제 풀이아마 이 문제를 푸는 사람 중 절대 다수는 삼성 코테 준비하는 사람들일 것이다. 사실, 삼성 코테, 즉 어드밴스급은 최적화가 그닥 필요 없다. 그냥 문제에서 주어진대로. 문제를 함수 단위로 쪼개서 풀면 된다. 따라서 나름 객체지향적 사고가 필요하다. 본인은 (테스트케이스가 있는 문제인 만큼) 초기화 함수를 만들었다. 초기 각 면의 색상이 정해져 있으므로 그 색깔로 큐..
출제 배경ZOAC 2023에서 출제한.. 뭐랄까 대회에서 나오면 안되는 문제를 내버렸다. 삼성 코테 A~B번에 나올 법한 문제로, 실수하기 좋은 구현 문제이다. 그래도 입력 범위가 나름 널널하게 주어져서 최적화를 많이 신경쓰지 않아도 충분히 풀 수 있다고 생각한다.  문제 설명문제 링크먼저 2차원 격자 모양으로 이뤄진 2개의 차원이 있다. 두 차원의 크기는 다를 수 있다. 또한 두 차원을 이어주는 차원 이동 게이트가 존재한다. 게이트 또한 2차원 격자 모양으로 이뤄졌으며, 반대편 차원에, 게이트 상에서 정민이가 위치한 자리로 이동한다. 정민이는 상하좌우로 한 번 움직이는데에 1초가 걸리고, 차원 이동을 하는데에는 3초가 걸린다. 이제 블랙홀에 대해 알아보자. 블랙홀은 위와 같이 확산된다. 정민이는 블랙홀..
출제 배경이 문제 또한 HEPC 2024에서 본인이 출제한 문제이다. 신입생 대상으로 출제한 문제로, 자료구조(map)를 안다면 쉽게 풀 수 있고, 그렇지 않더라도 단순 구현으로도 풀어낼 수 있는 문제이다. 문제 설명문제 링크 map을 사용하면 아주 쉬운 문제이므로, 자료구조를 모른다는 전제 하에 풀이하겠다. 먼저 w주차 d번째 날로 들어오는 약속일자를 첫 날로부터의 몇 번째 날인지로 나타내자. 즉, w*7+d로 나타낼 수 있다. 이렇게 계산해두면 풀이가 더 수월해진다. 이름과 약속일자, 필요한 금액을 입력받을 때 각각 나눠서 같은 인덱스의 배열에 저장하자. 물론 tuple이나 struct 등을 사용해서 한 번에 저장해도 무관하다. 이제 이름과 소지한 돈을 입력받을 때, 이전에 입력받은 이름 배열에서 같..
출제 배경한양대 에리카 알고리즘 대회인 HEPC 2024에서 본인이 출제한 문제이다. 본래 N이 16인 비트마스킹 DP 문제였으나, 대회의 전체적인 난이도가 너무 높다는 이유로 n만 줄여서... DFS로 풀 수 있는 문제가 되었다. 출제 이후 약 3개월이 지난 지금 실버 2에 위치해있다. 사실, 예상 난이도가 실버 4~5였는데 생각보다 높게 측정돼 있어서 또 억까 당한 느낌이다. (우주비행사 정민..)  문제 설명문제 링크 요약하자면, 단방향 그래프에서 모든 노드를 한 번씩만 방문하고 돌아오는, 그냥 외판원 순회 문제이다(아무래도 출제 배경이..) 다만 최장 시간을 구해야하고, 두 노드를 연결하는 단방향 간선이 여러 개일 수도 있으며, 모든 노드를 한 번씩만 방문하고 돌아오는 경로가 존재하지 않을 수 있..
https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 최소비용 구하기 1에서 최소비용의 경로까지 출력하는 문제이다. 다익스트라 알고리즘에서 최소비용을 갱신할 때마다 나에게로 향하는 노드가 무엇인지 저장해준 후 역순으로 출력해주면 된다. 위와 같은 그래프에서 우리는 1번 노드에서 4번 노드로 갈 것이다. 다익스트라 알고리즘을 위 상황에 적용시켰을 때, 각 노드에서 갱신되는 "1번 노드부터의 거리 배열"이다. 문제에서 요..
https://www.acmicpc.net/problem/22352 22352번: 항체 인식 첫 번째 줄에는 SP 촬영 결과의 크기를 의미하는 두 정수 $N$과 $M$이 주어진다. ($1 \le N, M \le 30$) 이는 촬영 결과가 세로로 $N$칸, 가로로 $M$칸 크기의 격자라는 것을 의미한다. 다음 $N$개의 줄에는 www.acmicpc.net 주어진 두 배열에서 같은 숫자로 이어진 구역을 나누고(구역은 상하좌우로 이어져있어야 한다), 두 배열의 모든 구역의 모양이 같아야 하고 숫자가 다른 구역이 1개 이하이면 YES, 구역의 모양이 다르거나 숫자가 다른 구역이 2개 이상이라면 NO를 출력해주는 문제다. 문제의 예제와 같이 위와 같은 두 배열이 있다고 하자. 우리는 새로운 구역을 찾을 때마다 모..
푸더기
'현생/백준 온라인 저지' 카테고리의 글 목록