본문 바로가기

알고리즘49

[알고리즘 문제] 단백질 사냥꾼 (Python / 파이썬) 문제 자신의 몸이 허약하다고 생각한 정택은 강해지기위해 운동을 하기 시작했다. 알고리즘 피트니스 센터의 센터장인 종민의 조언에 따라 “먹는 것 까지 운동이다.” 라는 철칙을 잘 따르고 있다. 전날 무리하게 운동한 여파로 늦잠을 자게되어, 오늘 먹을 단백질 도시락을 챙길 여유가 없었다. 어제 무리하게 운동한 것이 아까운 정택은 사무실 근처에 있는 편의점을 돌며 얻을 수 있는 최대의 단백질을 확보하려고 한다. 같은 단백질 함양을 가진 제품은 동일한 제품이고, 같은 도시락을 여러 번 먹으면 질리기때문에 서로 다른 제품을 통해 단백질을 섭취하고자 한다. 힘이 상승하고자하는 정택은 편의점을 ‘+’ 모양으로 순회하려고 한다. 위와 같이 편의점 정보가 존재한다고 했을 때, 각 칸에 해당하는 숫자는 해당 편의점에서 얻.. 2022. 5. 21.
[알고리즘 문제] 회전판과 로봇 (Python / 파이썬) 문제 가로 N칸, 세로 M칸으로 이루어진 격자판이 주어지고, 그 중 한 개의 칸에 로봇이 존재한다. 로봇은 동(E), 서(W), 남(S), 북(N) 4 방향으로 움직일 수 있다. 각 칸에는 로봇이 얻을 수 있는 점수가 적혀있거나 장애물이 존재한다. 점수는 자연수로 주어지며, 장애물은 -1로 주어진다. 로봇은 움직일 때 마다 자신이 위치해 있는 곳의 점수를 얻게 되고, 해당 칸의 값은 0으로 바뀌게 된다. 로봇의 초기 위치에는 장애물이 존재하지 않으며, 항상 초기 위치에 있는 점수를 얻으며 움직이기 시작한다. 성우는 총 L회 로봇을 움직일 수 있으며, 각 회마다 성우는 로봇이 이동할 방향과 크기를 정해줄 수 있다. 예를 들어, 한 회에 로봇을 서쪽으로 3칸 움직일 수 있다. 이렇게 로봇이 이동하는 동안 방.. 2022. 5. 21.
[알고리즘 문제] 지형 조사 (Python / 파이썬) 문제 등산로를 조성하기 앞서 산의 지형 정보를 통해 오르막 및 내리막 구간 정보를 정리하려고한다. 이때 기록하게되는 오르막 이나 내리막 구간은 길이 K 이상 이면서, 높이가 2이상 차이나야한다. 예를 들어, 1 2 3 은 길이가 3인 오르막 구간이고, 4 5 6 7 8 은 길이가 5인 오르막 구간이다. 앞서 나온 오르막 구간들은 모두 높이가 1씩 차이나므로 기록해야되는 오르막 구간이 아니다. 2 5 8 은 높이차가 1씩 차이나지 않기 때문에 기록 대상인 오르막 구간이다. 주어진 지형의 가로 또는 세로 한 줄을 봤을때, 오르막이나 내리막 구간이 존재하는지 확인해야한다. N * N의 지형 정보가 주어졌을때, 몇 개의 가로 및 세로 줄에 오르막 혹은 내리막 구간이 몇 개 존재하는지 구해보자. 예를 들어, N .. 2022. 5. 21.
[알고리즘 문제] 공기 청정기 (Python / 파이썬) 문제 알고리즘잡스 강의실의 쾌적한 공기 상태를 보장하기 위해 공기청정기를 설치했다. 어느날, 공기청정기가 제대로 동작하는지 궁금해진 영진은 현재 강의실의 공기상태를 알아내는 프로그램을 만들었다. 편의상 강의실 내부는 격자판으로 그려지고, 각 칸에는 공기의 나쁨 정도를 숫자로 표현하도록 제작되었다. 해당 프로그램에서 공기의 확산 특징은 다음과 같다. - 공기는 현재 위치에서 상하좌우로 확산된다. 만약 확산할 좌표가 존재하지 않거나, 공기청정기 위치일 경우 해당 위치로는 퍼지지 않는다. - 공기의 나쁨 정도가 5보다 작을 경우 확산이 일어나지 않는다. - 공기의 확산이 일어났을때, 퍼지는 나쁨 정도는 기준 위치에서 5로 나눈 몫이다. - 확산을 일으킨 후의 기준 위치의 공기의 나쁨 정도는 (현재 공기의 나쁨.. 2022. 5. 21.