분류 전체보기 61

[CF] Educational Codeforces Round 131

https://codeforces.com/contest/1701 Dashboard - Educational Codeforces Round 131 (Rated for Div. 2) - Codeforces codeforces.com A. Grass Field (00:05) \( 2*2 \) 의 4칸 중 4칸에 모두 잔디 있으면, 답은 2 0칸에 잔이 있으면, 답은 0 나머지는, 답은 1 처음 제출시에 오타나서 한번 틀렸었다. 일주일만에 하는거라 조금 떨렸었나보다. 다음부터는 침착하게 해보자. 구현할 때에 직접적으로 \( 2*2 \)배열을 만들어서 했는데, 그럴 필요없이 그냥 잔디 있는 칸의 수를 세기만 하면 된다. B. Permutation (00:19) 순열 p의 비용이 최대가 되게하는 d와 그 순열을 찾..

CP 2022.07.10

[CF] Codeforeces Round #803 (Div2)

https://codeforces.com/contest/1698 Dashboard - Codeforces Round #803 (Div. 2) - Codeforces codeforces.com A. XOR Mixup (00:08) 처음엔 그냥 n제한이 100이라서, 그냥 \( O(n^2) \)으로 풀어야지 하고, 풀었었다. 끝나고 나서, 다른 분들 코드랑 에디토리얼을 보니 XOR 연산의 특징을 이용한 \( O(n) \) 풀이가 있었다. 같은 수끼리 XOR 연산을 하면 0이라는 점을 이용하면 된다. (x^x=0) 또 어떤 수 x와 0을 XOR 연산을 하면 x라는 점도 생각할 기회가 없었는데, 새삼 알게 되었다. (x^0=x) 먼저, 내 풀이에서, (x^0=x) 를 이용해서 XOR 연산을 시작할 때 첫 피연산..

CP 2022.06.29

[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

2022년 여름방학 계획

1. 토익 최대한 단기간에 토익 780점 이상만 받자. 군대 이슈 때문에, 카투사를 지원해놓고 된다면 1학년 끝나고 가게 될 것 같다. 다만, 안될 확률이 매우 높기 때문에, 안된다면, 1학년 끝나고 갈지, 2학년 끝나고 갈지는 모르겠다. 2. Codeforces Specialist BOJ의 푼 문제 수, Solved.ac의 티어가 내 PS 실력을 온전히 반영하진 않는다는 생각을 최근에 하게되면서, 코드포스 민트를 찍고 싶다는 목표가 생겼다. 가능할지는 모르겠지만, 시간이 많은 1학년이라는 점을 장점으로 최대한 1학년 때에 PS 실력을 급격하게 키우고 싶다는 생각이 들었다. 일단 지금 의욕으로는 모든 라이브 코포를 참여 + C번까지 업솔빙이 구체적인 계획이다. 3. ICPC Sinchon 초급, 중급 강..

계획과 후기 2022.06.12

[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

BOJ 400 Solve, Solved.ac Platinum V 달성 후기

PS를 22년 1월에 열심히 하기로 마음먹고 시작한 것에서 중간적인 성과를 낸 것 같아서 뿌듯했다. 아는 자료구조는 많이 없지만, 기본 티어가 높은 문제들을 풀며 날먹하면서 플레티넘에 올라온것 같아서, 최근에는 내가 접하지 않은 유형의 문제들을 최대한 다양하게 풀려고 노력하는 중이다. 특히 5/14 에 진행되었고, 내 첫 대회인 서강대학교 청정수컵에서도 내 약점을 파악할 수 있었던 것 같다. 나는 수학, 애드혹, 구성적, 풀어보지 않은 유형의 문제를 진짜 못 푸는 것 같다. 시작한지 3달 가까이 된, 코드포스에서 수학, 애드혹, 구성적 문제에서 매번 벽을 느끼면서도 내 약점을 알 수 있었던 것 같다. 내 머리가 그렇게 좋지 않다는 것을 수능 이후로 다시 한번 느끼고, 노력해야겠다는 생각이 최근에 든다. ..

계획과 후기 2022.05.23

Python AttributeError 해결하기

AttributeError: partially initialized module 'numpy' has no attribute 'array' (most likely due to a circular import) numpy를 설치하고 numpy 라이브러리를 이용하기 위해서 컴파일 했을 때 위와 같은 에러가 발생했다. 아래 링크를 참고해서 해결했다. https://www.codeit.kr/community/threads/5430 아마, numpy.py라는 파일을 통해 numpy 라이브러리 속의 메소드, 내장 함수 등을 이용하는 것 같은데, 내가 작성한 파일명이 numpy.py여서 컴파일러가 제대로 된 파일을 찾지 못해서 이런 에러가 발생했던 것 같다.

오류 해결 2022.05.19