분류 전체보기

https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 요세푸스 문제 비슷한 유형이다. 원형 큐 혹은 덱을 사용해서 풀 수 있는데 나는 덱을 이용하여 풀었다. 일단 문제를 해결하기 위해서 값을 빼낼 위치 한 곳을 정해주어야 한다. 왼쪽으로 이동, 오른쪽으로 돌리는 연산은 각각 append(popleft())와 appendleft(pop())로 구현을 할 수 있다. 맨 처음 덱의 상태이다. 3 2 1 -3 -1 popleft해준 뒤 나..
https://www.acmicpc.net/problem/25603 25603번: 짱해커 이동식 첫 번째 줄에 정수 $N$, $K$가 주어진다. ($1 \le K < N \le 100\,000$) 두 번째 줄부터 $N$개의 기업 의뢰의 비용이 주어진다. 비용은 $1$ 이상 $10^9$ 이하의 정수이다. www.acmicpc.net 알고리즘 분류 자료구조 우선순위 큐 매개 변수 탐색 이분탐색 문제 짱해커 이동식은 상대방의 디스크에 자신의 이름을 남겨 자신이 왔다간 것을 알린다. 이동식에게 인정받기 위해 오늘도 수많은 기업들의 보안담당자들은 모의해킹 의뢰를 하기 위해 줄을 선다. 모든 의뢰를 받아들이기엔 너무 부담이 됐기 때문에, 각 의뢰들을 수행하는 데 필요한 비용을 측정해 최대한 비용이 적게 드는 의뢰들..
19951번: 태상이의 훈련소 생활 (acmicpc.net) 19951번: 태상이의 훈련소 생활 2020년 5월 14일 논산훈련소에 입대한 태상이는 첫 총기 훈련에서 가스 조절기를 잃어버리는 중대한 실수를 범했다. 그로 인해, 태상이는 조교들에게 눈총을 받게 되었다. 조교들은 태상이에게 연 www.acmicpc.net 코드 n,m=map(int,input().split()) A=list(map(int,input().split())) pr_sum = [0 for i in range(n+2)] for j in range(m): a,b,k=map(int,input().split()) pr_sum[a]+=k pr_sum[b+1]-=k for i in range(n): pr_sum[i+1]+=pr_sum[i] f..
https://www.acmicpc.net/problem/3985 3985번: 롤 케이크 첫째 줄에 롤 케이크의 길이 L (1 ≤ L ≤ 1000)이 주어진다. 둘째 줄에는 방청객의 수 N (1 ≤ N ≤ 1000)이 주어진다. 다음 N개 줄에는 각 방청객 i가 종이에 적어낸 수 Pi와 Ki가 주어진다. (1 ≤ Pi ≤ Ki www.acmicpc.net 문제 인기 티비 프로그램 "나는 요리사 인가?"의 새 시즌이 시작한다. 이번 시즌은 기네스북에 등재될 만한 음식을 만드는 것을 목표로 진행한다. 첫 번째 에피소드에 출연하는 요리사는 전설의 요리사 김상근이고, 길이 L미터의 롤 케이크를 만들 것이다. 상근은 몇 시간동안 집중해서 케이크를 만들었고, 이제 스튜디오의 방청객 N명에게 케이크를 나누어 주려고 ..
https://www.acmicpc.net/problem/1455 1455번: 뒤집기 II 세준이는 동전 뒤집기를 하려고 한다. 세준이는 동전을 N×M개 가지고 있다. 동전은 세로로 N개, 가로로 M개 크기의 직사각형에 차곡차곡 놓여져 있다. 동전의 앞면을 0이라고 하고 뒷면을 1이라고 www.acmicpc.net 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std; int arr[101][101]; void reverse(int a, int b) { for (int i ..
문제 https://www.acmicpc.net/problem/30088 Algorithm 각 부서별로 면담 시간의 합이 적은 순서대로 정렬한 뒤, 누적합을 구하여 출력한다. Code #include #include #include using namespace std; #define IAMFAST ios_base::sync_with_stdio(false);cin.tie(0); typedef long long ll; typedef pair pii; typedef pair pll; ll n; vector v; void INPUT() { IAMFAST cin >> n; for (int i = 0; i > num; ll sum = 0; while (num--) { ..
문제 링크 https://www.acmicpc.net/problem/17179 17179번: 케이크 자르기 첫 번째 줄에 자르는 횟수가 담긴 목록의 길이 N과 자를 수 있는 지점의 개수 M, 그리고 롤 케이크의 길이인 정수 L이 주어진다. (1 ≤ N ≤ M ≤ 1,000, 1 < L ≤ 4,000,000) 다음 M줄에 걸쳐 자를 수 있는 www.acmicpc.net 풀이 다음과 같이 접근하여 문제를 해결하였다. 1. 케이크를 Q_i 자를 때 생기는 가장 작은 조각의 최댓값의 최적해를 X라고 가정한다. 2. 실제로 케이크를 Q_i번 잘랐을 때 X가 가능한 해인지 확인한다. 3. 가능하다면 X보다 큰 X + k를 새로운 최적해로 가정한다. 불가능하다면 X보다 작은 X - k를 새로운 최적해로 가정한다. 4..
https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽..
문제 도깨비말은 언어 유희 중 하나로, 글자를 특정 법칙에 따라 재구성하는 것을 말한다. 영어권에서는 피그라틴어라는 것이 있다. 주로 어린이들이 많이 쓰는 데, 남들에게 무슨 말인지 모르게 하기 위해 종종 쓴다. 여기엔 규칙이 있는데, 맨 앞글자가 모음이 아닐때 까지 맨 앞 글자를 어미로 돌린 후 그 끝에 ay를 붙여서 완성한다. 예를 들면 frog는 ogfray이 된다. 만약 맨 앞자음이 없는 apple과 같은 경우는 끝에 ay만 붙여 appleay가 된다. 또는, 단어에 모음이 없는 경우에도 단어의 끝에 ay만 붙인다. 주어진 단어를 피그라틴어로 바꾸는 프로그램을 작성하시오. 입력 한 줄에 하나의 단어씩 주어진다. 그리고 마지막 줄에 #을 입력받고 끝낸다. 주어진 단어는 20자를 넘지 않고 공백없이 ..
https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net 문제요약 주어진 알고리즘 대로 격자내에 드래곤 커브를 그린다. 격자내에서 드래곤 커브에 둘러쌓인 1x1 사각형이 모두 몇개인지 출력한다. 문제해결 새로 생기는 드래곤 커브들의 방향을 결정할 때, 이전에 생겼던 커브를 가장 최근에 생긴 순서대로 읽으면서, 그 커브의 방향에 +1을 하면 새로운 커브들의 방향이 결정된다. 이를 스택을 이용하여 풀었다. 코드 #include #..
https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 문제 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 열에 평행해야 한다. 입력 첫째 줄에 N과 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 수가 주어진다. 출력 첫째 줄에 정답 정사각형의 크기를 출력한다. 코..
문제 https://www.acmicpc.net/problem/19637 Algorithm 처음엔 딕셔너리로 정의했는데 key, value로 변환하기 까다로웠다. 이러한 케이스는 다음과 같이 각각의 두 개의 리스트를 정의 → 인덱스 쌍으로 찾을 수 있다는 점을 알게되었다. # 칭호 정보 저장 | name_arr, val_arr은 같은 인덱스로 값을 찾을 수 있다. for _ in range(n): name,value=input().split() name_arr.append(name) val_arr.append(int(value)) # ... 생략 # val_arr로부터 원하는 값을 찾는다. if target
KauKoala
'분류 전체보기' 카테고리의 글 목록 (32 Page)