목록구현 (98)
어흥
문제 링크: www.hackerrank.com/challenges/3d-surface-area/problem 3D Surface Area | HackerRank Find the surface area of a 3D Toy www.hackerrank.com 1. 주의할 점 - 모형의 표면적을 구하는 문제로, 윗면과 밑면은 항상 가로*세로라는것을 알 수 있다 - 옆면의 경우, 옆면에서 바라봤을 때로 가정하면 4 3 4 과 같은 도형을 8로 인식한다(정답은 10으로, 4와 3사이에 옆면이 양옆으로 1개씩 추가로 존재) 2. 구현 - 윗면과 밑면은 항상 가로*세로이므로 Result = 2*Row*Col로 초기화를 하고 시작한다 - 옆면의 경우, 1열 혹은 행씩 확인하도록 한다 - 해당 줄(열 or 행)의 양끝에..
문제 링크: www.acmicpc.net/problem/20005 20005번: 보스몬스터 전리품 입력의 첫째 줄에는 멤멤월드의 지도의 크기를 나타내는 두 정수 M(6 ≤ M ≤ 1000), N(6 ≤ N ≤ 1000)과 플레이어의 수 P(1 ≤ P ≤ 26)가 주어진다. M은 지도의 세로 길이, N은 지도의 가로 길이이다. 입 www.acmicpc.net 1. 주의할 점 - AC가 나와도 필요없는 작업은 하지 않도록 노력한다(Ex. '각 플레이어->보스까지의 거리' 대신 보스->각 플레이어까지의 거리) - 보스가 플레이어에게 도달해도 4방향 이동은 이어서 한다 2. 구현 - 2가지의 방법으로 풀었다(단, BFS의 방법은 같다) (0) 공통(BFS) - 보스를 위치를 기준으로 큐에 담아서 각 플레이어까지..
문제 링크: www.acmicpc.net/problem/14324 14324번: Rain (Small) The first line of the input gives the number of test cases, T. T test cases follow. The first line of each test case contains two numbers R and C indicating the number of rows and columns of cells on the island. Then, there are R lines of C posi www.acmicpc.net ※ 비슷한 문제: www.acmicpc.net/problem/1113 1113번: 수영장 만들기 지민이는 수영장을 만들려고 한다. 수영장을 ..
문제 링크: www.acmicpc.net/problem/2116 2116번: 주사위 쌓기 첫줄에는 주사위의 개수가 입력된다. 그 다음 줄부터는 한 줄에 하나씩 주사위의 종류가 1번 주사위부터 주사위 번호 순서대로 입력된다. 주사위의 종류는 각 면에 적혀진 숫자가 그림1에 있는 www.acmicpc.net 1. 주의할 점 - 특정 면이 윗면일때(반대편도 동일) 옆면에 적힌 숫자의 값 중에서 최대값을 Maxi[][]에 저장해놓는다 - 가장 아래층이 정해지면 위는 경우의 수가 1가지 뿐이다(옆면의 최대값을 미리 구했기 때문) 2. 구현 - 주사위에 대한 정보를 Dice[] 벡터에 입력받는다 - 각 주사위 면이 윗면일때 옆면의 최대값을 Maxi[i번쨰 주사위][j번째 면(반대편 포함)]에 저장한다 - 가장 아래..
문제링크: www.hackerrank.com/challenges/encryption/problem Encryption | HackerRank Encrypt a string by arranging the characters of a string into a matrix and printing the resulting matrix column wise. www.hackerrank.com 1. 주의할 점 - 미리 9*9배열 Arr[][]을 만들어놓는다(최대 길이가 81이므로) - 배열의 가로와 세로를 잘 구하도록 한다 2. 구현 - 입력받은 문자의 공백을 모두 제거한 문자열을 Str에 저장한다 - Math.h의 내장함수인 Ceil과 Floor 함수를 통해 Row, Col을 구한다(단, Row*Col < Str..
문제링크: www.hackerrank.com/challenges/queens-attack-2/problem Queen's Attack II | HackerRank Find the number of squares the queen can attack. www.hackerrank.com 1. 주의할 점 - 8방에서 가장 가까운 장애물을 미리 구해놓는다(1칸씩 옆으로 가면서 확인하지말것) - 대각선을 잘 세도록 한다 2. 구현 - 변수 U,RU,R,RD,D,LD,L,LU를 둬서 12시부터 시계방향으로 8방향에서 가장 가까운 장애물의 Y좌표를 저장하도록 한다 - 대각선의 경우, Y좌표를 변수에 저장했기 때문에 퀸과 벽사이의 거리와 변수의 값중에서 작은 값을 저장하도록 한다. 왜냐하면 천장이나 바닥에 닿기전에 옆..
문제 링크: www.acmicpc.net/problem/8911 8911번: 거북이 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 컨트롤 프로그램이 주어진다. 프로그램은 항상 문제의 설명에 나와있는 네가지 명령으로만 이루어져 www.acmicpc.net 1. 주의할 점 - 시작은 0,0이고 북쪽방향을 보고 있다 2. 구현 - 시작점, 시작방향 그리고 최대 X,Y와 최소 X,Y를 전부 0으로 초기화한다 - 방향을 전환하는 경우에는 X,Y의 최대최소를 구하지 않아도 된다 #include #include #include using namespace std; int dx[4] = { 0,1,0,-1 }; int dy[4] = { -1,0,1,0 }; int main..
문제 링크: www.acmicpc.net/problem/11451 11451번: 팩맨 각 테스트 케이스에 대해서 정답을 한 줄에 출력한다. 만약 가능할 경우, 팩맨을 조작해야 하는 최소 횟수를 출력한 후, 그 다음에 조작해야 하는 방향을 순서대로 {N, E, S, W}를 사용하여 출력한�� www.acmicpc.net 1. 주의할 점 - 경로를 기억해야 한다 - BFS를 통해 진행하며, 팩맨 2가지의 위치를 한번에 저장하고 있는 구조체를 사용한다 - "귀신과 부딪힌다 -> 라이프가 1 깍인다" : 이 문구가 의미하는 것은? - "두 번째 팩맨" -> 이 문제와 상관이 없다. 불충분한 조건 or 낚시를 하다 만것 2. 구현 - "귀신과 부딪힌다 -> 라이프가 1 깍인다" : 이 문구는 낚시다. 귀신과 부딪..