목록APS (15)
최's 먹공로그
https://www.acmicpc.net/problem/1600 문제정리1. 말은 체스의 나이트와 같은 이동방식을 가진다.2. 말은 장애물을 뛰어넘을 수 있다.3. 원숭이는 총 K번만 말과 같은 움직임을 할 수 있다. 그 외에는 인접한 칸으로만 움직일 수 있다.(상,하,좌,우)4. map의 맨 왼쪽 위에서 맨 오른쪽 아래까지 가야한다. 격자판이 주어졌을 때, 원숭이가 최소한의 동작으로도착지점까지 갈 수 있는 방법을 알아내는 프로그램을 작성하시오.5. map[H][W] 이다. 장애물이 있는 곳으로는 이동할 수 없다. 문제issue1. 처음에는 최소라서 BFS라고 생각했지만 한 셀에서 원숭이로 갈 수 있는 경우 , 말로 갈 수 있는 경우를 모두살펴봐야 해서 DFS로 해야겠다고 생각했지만 결론은 최소 = B..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu 문제정리1. 홈방범 서비스는 마름모 모양의 영역에서만 제공된다.2. 운영 비용 = K * K + (K - 1) * (K - 1) , K는 1 이상의 정수이다.3. 홈방범 서비스를 제공받는 집들은 각각 M의 비용을 지불할 수 있어, 손해를 보지 않는 한 최대한 많은 집에홈방법 서비스를 제공하려고 한다.4. 도시의 크기 N과 하나의 집이 지불할 수 있는 비용 M, 도시의 정보가 주어진다.이때, 손해를 보지 않으면서 홈방범 서비스를 가장 많은 집들에 제공하는 서비스 영역을 찾고, 그 때의홈방범 서비스를 제공 받는 집들의 수를 출력하는 프로그램을..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeV9sKkcoDFAVH 문제정리1. 4개의 자석 , 각 자석은 8개의 튀어나온 곳을 가지고 있다.2. 자석은 각 날 마다 N극 또는 S 극의 자성을 가지고 있다.3. 자석의 신기한 규칙(1) 임의의 자석을 1칸씩 K번 회전 시킬 때(2) 하나의 자석이 1 칸 회전될 때, 붙어 있는 자석은 서로 붙어 있는 날의자성과 다를 경우에만(돌리기 전) 인력에 의해 반대 방향으로 1 칸 회전된다.4. 점수 계산(1) 1번 자석에서 빨간색 화살표 위치에 있는 날의 자성이 N 0 , S 1(2) 2번 자석에서 빨간색 화살표 위치에 있는 날의 자성이 N 0 , S 2(3) 3번 ..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeW7FakkUDFAVH 문제정리1. 각 셀의 숫자는 그 지형의 높이를 의미한다.2. 활주로를 가로 또는 세로 방향으로 건설할 수 있는 가능성을 확인하려고 한다.3. 활주로는 높이가 동일한 구간에서 건설이 가능하다.4. 높이가 다른 구간의 경우 활주로가 끊어지기 때문에 경사로를 설치해야만 활주로를 건설 할수 있다.5. 경사로는 길이가 X 이고, 높이는 1 이다.6. 경사로는 높이 차이가 1이고 낮은 지형의 높이가 동일하게 경사로의 길이만큼 연속되는 곳에설치 할 수 있다.7. 경사로의 길이 X와 절벽지대의 높이 정보가 주어질 때, 활주로를 건설할 수 있는경우의 수를..
https://www.acmicpc.net/problem/17406 문제정리1. 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다.1 2 32 1 14 5 6인 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다따라서 A의 값은 4이다.2. 배열은 회전 연산을 수행할 수 있다.(1) 회전 연산은 세 정수 (r,c,s)로 이루어져 있다(2) 가장 왼쪽 윗 칸이 (r-s, c-s)이고 가장 오른쪽 아랫 칸이 (r+s,c+s)이다(3) 정사각형을 시계 방향으로 한 칸씩 돌린다는 의미이다.(4) 크기가 6X6이고 회전 연산이 (3,4,2)인 경우 문제의 그림과 같이 회전한다.3. 회전 연산이 두 개 이상이면, 연산을 수행한 순서에 따라 최종 배열이 다르다.4. 크기가 5X6이고 회전 ..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRF8s6ezEDFAUo 문제정리 1. 삼각형(1,2,3,4) , 사각형(5) , 웜홀(6,7,8,9,10) , 블랙홀(-1)2. 핀볼(1) 게임판 위에서 핀볼 하나가 상, 하, 좌, 우 중 한 방향으로 움직인다(2) 핀볼은 블록이나 웜홀 또는 블랙홀을 만나지 않는 한 현재 방향을 유지하면서 계속 직진한다(3) 블록의 수평면이나 수직면, 벽을 만날 경우 방향을 바꿔 반대 방향으로 돌아온다(4) 경사면을 만날 경우에는 직각으로 진행 방향이 꺾이게 된다(5) 웜홀에 빠지면 동일한 숫자를 가진 다른 반대편 웜홀로 빠져 나오게 되며 진행방향은 그대로 유지된다(6)..
https://www.acmicpc.net/problem/17142 문제요약 1. map의 크기 = N , 활성상태로 만들 수 있는 바이러스 수 = M , 비활성 상태 바이러스 = 2 , 빈 공간 = 0 , 벽 = 1 2. 활성상태로 만든 바이러스는 동시에 상하좌우 빈공간 또는 비활성 상태 바이러스로 퍼진다 3. 모든 빈 칸에 바이러스를 퍼뜨리는 최소 시간을 구해보자 문제issue 1. 모든 빈 칸에 바이러스가 있게 되는 최소 시간이란 비활성 상태의 바이러스도 포함한다. -> (1) 입력 받을 때 모든 빈칸을 카운트 해준다 zero_cnt (2) 활성상태의 바이러스에서 빈공간(비활성 바이러스는 제외)으로 퍼진 개수를 카운트 해준다 zero_check (3) 위 두개의 카운트를 비교했을 때 zero_cnt