목록구현 (98)
어흥
문제 링크: www.acmicpc.net/problem/20061 20061번: 모노미노도미노 2 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net 1. 주의할 점 - 모든 절차에 따른 함수를 정확히 구현해야 한다 - 연한색에 위치함으로 인해 사라지는 열/행은 점수에 반영되지 않는다 2. 구현 - 입력에 대해 블록을 V 벡터에 구조체 형태로 저장한다 - MV(0) ->Pop_down() -> MV(1) -> Pop_right() 함수가 한 사이클이다 - MV(0)을 통해 V에 저장된 형태의 블록을 아래로 내려서 Arr[][] 배열에 ..
문제 링크: www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 1. 주의할 점 - 변수들을 헷갈리지 않도록 한다 - 초기화를 잘 처리해준다 - 특정 조건에 맞는 우선순위 큐를 사용하여 다음으로 태울 손님을 구한다 2. 구현 - 길에 대한 정보를 Arr[][] 함수에 저장한다 - 손님의 시작위치, 도착지점 위치를 P[][4] 배열에 담는다 - Need_fuel[] 배열에 대한 초기화를 수행한다. 해당 배열은 손님의 탑승위치..
문제 링크: www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 주의할 점 - 스택 or 그리디를 이용하여 해결한다 - 본인이 생각한 특수 TC 이외에도 많은 특수 TC가 존재한다 ##일부 TC #1 6 2 391123 //output : 9123 #2 6 2 436436 //output : 6436 #3 7 3 7654321 //output : 7654 #4 6 2 362514 //output : 6514 #5 2 1 19 //output: 9 #6 7 2 9543543 //output: 9554 2. 구현 - String형태가 아..
문제 링크: www.hackerrank.com/challenges/frequency-queries/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps Frequency Queries | HackerRank Process the insert/delete queries and report if any integer is there with a particular frequency. www.hackerrank.com 1. 주의할 점 - X,Y,Z의 범위가 1~10^9사이다 - Map + 배열을 이용하여 해결한다 - 배열의 범위가 크지 않으므로, indexOutOf..
문제 링크: www.hackerrank.com/challenges/count-triplets-1/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps Count Triplets | HackerRank Return the count of triplets that form a geometric progression. www.hackerrank.com 1. 주의할 점 - R이 1이라면? - 범위는 Long이다. 개수 또한 Long이 될 수 있다 - 배열의 값이 내림차순으로 정리되는 경우, 답은 0이다 [생각한 TC] #1 5 2 1 2 4 2 4 #2 4 3 16 ..
문제 링크: www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 1. 주의할 점 - 원하는 숫자가 idx번째에 있다면, 서로 다른 두 수는 idx를 사용하여 만들어지면 안된다. 문제 설명이 모호하게 되어있다 3 0 0 3 -> 답: 0 2. 구현 - 투 포인터를 이용하여 풀이한다 - 입력 받은 수들을 오름차순으로 정렬하여 투포인터의 필요조건을 만족시킨다 - 0~N-1까지 모든 수에 대해 이분탐색을 수행한다 - Left는 0, Right는 N-1부터 수행한다 - 두 수가 같으면 안되므로 Le..
문제 링크: www.hackerrank.com/challenges/crush/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=arrays Array Manipulation | HackerRank Perform m operations on an array and print the maximum of the values. www.hackerrank.com 1. 주의할 점 - 각 쿼리를 입력 받을 때 마다 모든 배열에 값을 추가하지 않는다 -> TLE 발생 2. 구현 - 아이디어가 떠오르지 않아서 Discussion에 적혀 있는 다른 사람의 풀이를 참조하여 해결했다. - 방법은 현재 배열의 값: 현..
문제 링크: www.hackerrank.com/challenges/minimum-swaps-2/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=arrays Minimum Swaps 2 | HackerRank Return the minimum number of swaps to sort the given array. www.hackerrank.com 1. 주의할 점 - O(N^2)이 발생하지 않도록 한다 2. 구현 - 현재 위치에 맞는 값이 들어있는 경우 다음 값을 확인한다 - 맞는 값이 들어 있지 않은 경우, 현재 위치에 있는 값 Num과 Arr[Num-1]의 값을 스왑한다(배열의 번호는 0부터..