분류 전체보기
-
sort 함수 사용법잡다한 지식 2020. 3. 25. 13:53
Algorithm 헤더에 있는 sort 함수에 관하여 정리해보도록 하자. sort(배열의 시작점 주소, 배열의 마지막점 주소)- 개념 : sort(start, end) , start와 end 범위에 있는 요소들을 오름차순 정렬해주는 함수 퀵 정렬을 기준으로 함수가 구현되어 있어서, 시간 복잡도는 O(nlogn)이다.- 사용법 크기가 n인 배열 arr, 백터 vec이 있다고 할때sort(arr, arr +n);sort(vec.begin(), vec.end());sort(vec.begin(), vec.end(), cmp); → 비교함수 cmp를 만드는 경우sort(vec.begin(), vec.end(), greater()); → 내림차순 정렬을 사용하는 경우greater : 첫번째 인자가 두번째 인자보다 ..
-
[백준] 1315번 RPG문제 풀이 2020. 3. 24. 19:13
1315 RPG 문제준규는 새 RPG 게임을 시작했다. 이 게임에서 캐릭터는 2가지 스탯을 가지고 있다. 하나는 힘(STR)이고, 다른 하나는 지력(INT)이다. 캐릭터를 생성했을 때, 두 스탯은 모두 1이다.게임에는 총 N개의 퀘스트가 있다. i번째 퀘스트를 깨려면 캐릭터의 힘이 STR[i]보다 크거나 같거나, 지력이 INT[i]보다 크거나 같아야 한다. 이 퀘스트를 깨면, 스탯을 올릴 수 있는 포인트를 PNT[i]개 만큼 얻게 된다.모든 퀘스트는 단 한 번만 깰 수 있으며, 퀘스트를 깨는 순서는 준규가 마음대로 정할 수 있다. 또, 퀘스트 보상으로 얻게되는 포인트로 준규 마음대로 스탯을 올릴 수 있다.준규가 깰 수 있는 퀘스트 개수의 최댓값을 구하는 프로그램을 작성하시오. 입력첫째 줄에 퀘스트의 개수..
-
[백준] 17882번문제 풀이 2020. 3. 24. 16:48
17882 원판돌리기 문제반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. 수의 위치는 다음을 만족한다.- (i, 1)은 (i, 2), (i, M)과 인접하다.- (i, M)은 (i, M-1), (i, 1)과 인접하다.- (i, j)는 (i, j-1), (i, j+1)과 인접하다. (2 ≤ j ≤ M-1)-(1, j)는 (2, j)와 인접하다.- (N, j)는 (N-1, j)와 인접하다.-(i, j)는 (i-1, j), (i+1, j)와 인접하다. (2 ≤ i ≤ N-1) 아래 그림..
-
[백준] 10472번 십자뒤집기문제 풀이 2020. 3. 24. 02:36
10472 십자뒤집기 문제당신에게 3x3 크기의 보드가 주어진다. 각각의 칸은 처음에 흰색 혹은 검은색이다. 만약 당신이 어떤 칸을 클릭한다면 당신이 클릭한 칸과 그 칸에 인접한 동서남북 네 칸이 (존재한다면) 검은색에서 흰색으로, 혹은 흰색에서 검은색으로 변할 것이다.당신은 모든 칸이 흰색인 3x3 보드를 입력으로 주어지는 보드의 형태로 바꾸려고 한다. 보드를 회전시킬수는 없다.Figure D.1: 예제 입력입력첫 줄에는 테스트 케이스의 숫자 P(0 < P ≤ 50)이 주어진다.각각의 테스트 케이스에 대해서 세 줄에 걸쳐 한 줄에 세 글자씩이 입력으로 들어온다. "*"은 검은색을 뜻하며 "."은 흰색을 뜻한다. 출력각각의 테스트 케이스에 대해서 흰 보드를 입력에 주어진 보드로 바꾸는 데 필요한 최소 클..
-
[백준] 2234번문제 풀이 2020. 3. 23. 15:58
2234 성곽 문제 대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하시오.이 성에 있는 방의 개수가장 넓은 방의 넓이하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크기위의 예에서는 방은 5개고, 가장 큰 방은 9개의 칸으로 이루어져 있으며, 위의 그림에서 화살표가 가리키는 벽을 제거하면 16인 크기의 방을 얻을 수 있다.성은 m×n(1 ≤ m, n ≤ 50)개의 정사각형 칸으로 이루어진다. 성에는 최소 두 개의 방이 있어서, 항상 하나의 벽을 제거하여 두 방을 합치는 경우가 있다. 입력첫째 줄에 두 정수 n, m이 주어진다. 다음 m개의 줄에는 n개의 정..
-
[백준] 2293번문제 풀이 2020. 3. 21. 22:07
2293 동전1 문제n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그 경우의 수를 구하시오. 각각의 동전은 몇 개라도 사용할 수 있다.사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. 입력첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 출력첫째 줄에 경우의 수를 출력한다. 경우의 수는 231보다 작다. 풀이) 시간제한이 0.5초의 문제로 dp를 사용해서 풀어야하는 문제였다.dp[i] = i원의 가치를 표현할 수 있는 경우의 수의 합 으로 두고 문제를 풀었..
-
[백준] 2579번문제 풀이 2020. 3. 21. 21:03
2579 계단 오르기 문제계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다.마지막 도착 계단은 반드시 밟아야 한다.따라서 첫 번째..
-
[백준] 16681번 등산문제 풀이 2020. 3. 21. 15:58
16681 등산 문제주환이는 요즘 등산에 빠졌다. 주환이는 등산을 위해 지도를 가지고 있는데, 그 지도에는 각 지점의 높이와 갈 수 있는 다른 지점까지의 거리가 표시되어 있다.주환이는 아침에 집에서 출발하여 등산을 갔다가, 오후 수업을 듣기 위해 고려대학교로 돌아와야 한다.주환이는 지도의 임의의 지점을 골라, 그 지점을 목표로 정한다. 집 또는 고려대학교는 목표로 선택할 수 없다.주환이가 집에서 정한 목표에 도달할 때 까지는 항상 높이가 증가하는 방향으로만 이동해야 한다.주환이가 정한 목표에 도달한 후, 고려대학교로 갈 때에는 항상 높이가 감소하는 방향으로만 이동해야 한다.주환이는 거리 1을 움직일 때 마다 D 의 체력이 소모된다.주환이는 정한 목표에 도달하면 높이 1당 E 의 성취감을 얻는다. 즉 높이..