목록수학 (19)
어흥
문제 링크: www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net 1. 주의할 점 - N num>>play; for(int i=1;i>arr[i]; if(num
문제 링크: 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/16971 16971번: 배열 B의 값 첫째 줄에 배열 A의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 배열의 원소가 주어진다. 배열은 정수로만 이루어져 있다. www.acmicpc.net 1. 주의할 점 - 각각의 원소가 배열 B가 만들어지기 위해 몇번 사용되는지 미리 계산한다. 다음과 같다 N = 10, M = 6의 경우, 배열 A의 각 원소가 더해지는 횟수 //1~M열 1 2 2 2 2 1//1행 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 ~ 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 1 2 2 2 2 1//N행 즉, 맨 위와 아래행(K번)은 나머지 ..
문제 링크: https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 문제 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 여기서 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하려고 한다. 안정적인 문자열의 정의란 다음과 같다. 빈 문자열은 www.acmicpc.net 1. 주의할 점 - 전부 한번씩 뒤집어서 비교하는 일은 하지 않도록 한다(최악: 2^2000) 2. 구현 - 초기에 문자열을 입력받을 때, Stack에 문자를 1개씩 넣는다. 단, {}와 같이 쌍을 이룰경우, Stack에서 제외한다 - 위의 과정을 통해 안정적이지 못한 문자열이 Stack에 있을때, 가장 위에 위치한 원소 2개씩 뺀다 (문자열의 길이가 짝수이므로 가능하다) - 원소 2개가..
문제 링크: https://www.acmicpc.net/problem/10836 10836번: 여왕벌 입력의 첫 줄에는 격자칸의 가로와 세로 크기 M(2 ≤ M ≤ 700)과 날짜 수 N(1 ≤ N ≤ 1,000,000)이 자연수로 주어진다. 첫날 아침의 애벌레 크기는 모두 1이므로 입력에 주어지지 않는다. 다음 N개의 �� www.acmicpc.net 1. 주의할 점 - 매일마다 애벌레의 크기를 바꾸면 시간초과가 발생한다 - 0,1,2의 순서로 증가하는 크기를 나타내므로, 좌, 좌상, 상과 비교할때 제일 많이 자란 애벌레는 무조건 상이다 2. 구현 - 매일 자라는 애벌레의 크기를 Order[] 배열에 담는다. 단, 1씩 자라기 시작하는 곳, 2씩 자라기 시작하는 포인트에서만 ++한다 - 왼쪽과 상단의 ..
문제 링크: https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치� www.acmicpc.net 1. 주의할 점 - 해당 블록을 기준으로 오른쪽과 왼쪽을 살핀다 2. 구현 - 해당 블록을 I를 기준으로 0~I-1과 왼쪽에 위치한 I+1~Col블록을 검사하며 왼쪽 블록중 가장 높은 블록과 오른쪽 블록중 가장 높은 블록을 구한다 - 위에서 구한 높이중 작은 높이를 현재 높이만큼 빼면 현재 블록에 최대 얼마의 빗물을 담을 수 있는지 구할 수 있다 #include #..
문제 링크: https://www.acmicpc.net/problem/3678 3678번: 카탄의 개척자 문제 "카탄의 개척자"는 많은 사람들이 즐기는 보드게임이다. 게임을 시작하려면, 먼저 게임판을 랜덤으로 만들어야 한다. 게임판은 육각형 타일로 이루어져 있으며, 각 타일은 자원을 하나씩 포함하고 있다. 자원은 총 다섯 가지 종류가 있으며, 점토, 재목, 양모, 곡물, 광석이다. 각 자원은 1부터 5까지 순서로 나타낼 수 있다. 랜덤을 이용해서 게임판을 만들면, 같은 자원이 인접한 타일에 있는 경우가 있을 수도 있다. 이런 배치를 매우 싫어하는 사람이 많다 www.acmicpc.net 1. 주의할 점 - 6각형 형태를 어떻게 나타낼 것인가 이 부분에 관해서는 백준의 '주사위 윷놀이' 문제와 비슷하다. ..