PS 25

[BOJ] 2785번: 체인

https://www.acmicpc.net/problem/2785 2785번: 체인 희원이는 그의 다락방에서 N개의 체인을 찾았다. 각각의 체인은 몇 개의 고리로 연결되어 있는데, 각각의 고리는 최대 두 개의 인접한 고리를 가질 수 있다. 각각의 고리는 열고 닫을 수 있다. 그 www.acmicpc.net 접근 방법 처음에는 체인의 길이가 1인 것이 특별하다고 생각해서 주어진 체인의 길이가 1인 것을 먼저 사용해서 3세트 -> 1세트로 만들어주고, 남은 것들은 2세트 -> 1세트로 묶어주는 연산을 하는 것이 "고리를 최소로 사용한다"라고 착각했다. 위와 같이 생각하면, 예제 입력3을 통과하지 하게 되어서 다시 생각하게 되었다. 체인의 길이가 1인 것이 특별한 것은 아직 유효한데, 이 점을 극한으로 사용해..

PS 2022.06.23

[BOJ] 5525번: IOIOI

https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net 접근 방법 일단 주어진 문자열 S에서 IOI 를 세려고 했다. IOI인 O의 인덱스를 chk배열에 저장한 후, chk배열을 순회하면서 chk[j]-chk[j-1]==2 으로 chk배열의 인접한 두 값의 차이가 2이면 IOI가 이어지는 것으로 판단하였다. 풀이 / 시간 복잡도 처음에는 chk배열의 모든 인덱스를 대상으로 이어지는 I..

PS 2022.06.15

[BOJ] 1966: 프린터 큐

https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 접근 방법 / 풀이 현재 문서보다 중요도가 높은 문서의 유무의 따라 해야하는 행동이 다르므로, 현재 문서보다 중요도가 높은 문서의 유무를 판단하기 위해imp 1차원 배열을 만들어 처리했다. 왜냐하면 \( 1 \leq 중요도 \leq 9 \) 이기 때문이다. 구체적으로 현재 문서보다 중요도가 높은 문서의 유무를 살필 때에는, \( O(9) \)의 완전탐색을 해주면 된다. 입력을 받을 때 {중요도, 인덱..

PS 2022.06.12

[BOJ] 2981: 검문

https://www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 접근 방법 어떻게 주어진 모든 수를 m으로 나눴을 때, 나머지가 같을 지 생각하다가, 떠오르는 것이 없어서, 알고리즘 분류를 보고 풀었다. 유클리드 호제법 을 보고 아 무언가의 최대공약수와 관련되어 있구나라는 생각을 하여 풀이했다. 풀이 어떤 수 \( x, y (x>n; ll a[n]; for(int i=0;i>a[i]; sort(a, a+n); ll g=a[1]-a[0]; for(int i=2;i

PS 2022.06.08

[BOJ] 1561번: 놀이공원

https://www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net 접근 방법 처음엔, 문제에서 구하라는 것을 직접적으로 n번째 아이가 몇 번째 놀이기구를 타게 될 지를 고민했었다. 필연적인 사고였지만, 직접 손으로 시행을 해보면서 얻은 결과는 모든 운행 시간들의 배수마다 매번 몇 명의 아이들이 타는 지, 총 몇 명의 아이들이 탔는지를 생각해주어야 하는데, 이는 1. n번째 아이가 탈 때가 언제인지 미리 알 수 없다는 점, 2..

PS 2022.06.07