분류 전체보기 61

Python에서 OOP하기

python class - OOP - The result of the class implementation is called an instance 파이썬의 OOP 기본 개념 class Hello: # class 생성 def greeting(self): # method 생성 print('Hello, World!') a = Hello() # instance 생성 a.greeting() # method 호출 class에는 크게 attribute과 method 두 가지가 있다. attribute는 매개변수를 받고 사용하기 위한 값, method는 만들어진 attribute를 이용해 어떤 행위를 하는 함수라고 생각해도 된다. class Member: value = [] # class attribute def in..

정리/Data&AI 2022.09.14

Jupyter Notebook관련 이것 저것

Jupyter Notebook Magic Command Ipython(Jupyter Notebook)에는 Magic Command가 내장되어 있다. Cell에 %Ismagic이라고 입력하면, 다양한 Magic Command 목록을 볼 수 있다. 자주 사용하는 매직 커멘드 몇 개를 살펴보자. %의 적용 범위는 라인, %%의 적용 범위는 셀이다. 1. %matplotlib inline, %matplotlib notebook %matplotlib inline: show 명령 없이도 바로 그래프 표현(정적) %matplotlib notebook: show 명령 없이도 바로 그래프 표현(동적) import matplotlib.pyplot as plt %matplotlib inline plt.plot([2, 4, ..

정리/Data&AI 2022.09.14

2022 ICPC Sinchon Summer Algorithm Camp 후기

https://icpc-sinchon.io/ Main | ICPC Sinchon 신촌지역 대학교 프로그래밍 동아리 연합 icpc-sinchon.io 0. 방학 시작 이후 7주간의 수업, 8월 20일에 열린 캠프 모의고사, 9월 4일에 열린 SUAPC를 모두 거쳐 신촌 연합 알고리즘 캠프를 마무리 한 이후에 기록으로 남겨보고자 후기글을 써보려 한다. 원래는 캠프 진행 내용, 캠프 콘테스트 위주로 쓰려했지만, 간략하게라도 SUAPC에 대해서도 글을 쓰고 싶다 ㅎㅎ 전반부는 캠프 진행 및 관련 생각들로, 후반부는 캠프 콘테스트와 SUAPC로 이루어져 있다. 많은 내용을 글 하나에 다루려다 보니 글이 많이 길어진 것 같다ㅠ 1. 캠프의 진행 캠프는 초급반, 중급반 두 개의 반으로 나뉘어서 진행되었고, 나는 2개..

계획과 후기 2022.09.10

[CF] Counting Rectangles

https://codeforces.com/contest/1722/problem/E Problem - E - Codeforces codeforces.com 문제 제목 그대로 가로, 세로가 정해진 여러 직사각형들이 주어지고, h_s < h_i < h_b && w_s < w_i < w_b인 직사각형들의 넓이 합을 구해야 한다. 2차원 누적합을 이용해 해결하면 된다. 2차원이므로 포함과 배제 느낌으로 누적합 배열을 채워주면 된다. #include #define ll long long int using namespace std; ll n, q; ll p[1005][1005]; ll a[1005][1005]; void solve() { memset(a, 0, sizeof(a)); memset(p, 0, sizeof..

CP 2022.09.01

[CF] Codeforces Round #814 (Div. 2)

https://codeforces.com/contest/1719 Dashboard - Codeforces Round #814 (Div. 2) - Codeforces codeforces.com 한동안 신촌연합 중급 문제 해결하느라 시간 없다고 핑계대면서, 코포 치면서도 업솔빙 안하고, 글도 안써서 이번 라운드에서 혼쭐난 것 같다. 방학 끝나면, 새로운 알고리즘은 더 필요 없으니, 진짜 코포+실or골랜디에 집중하면서 실력을 키워야겠다. A. Chip Game (00:05) 관찰을 통해, (가로+세로)가 홀수면 선공이 이기고, 짝수면 선공이 짐을 알 수 있다. 대회 중에는 그냥 넘어갔지만, 왜인지 생각해보자. B. Mathematical Circus (00:55) 풀이의 가닥은 바로 나왔었는데, 바로 코딩하려..

CP 2022.08.28

2022년 여름방학 후기

일단 2022년 여름방학 계획부터 되돌아 보자. 1. 토익 다행히 1트안에 780점 이상을 넘기는데에 성공했다. 최소 시간, 최소 비용으로 카투사 토익 컷을 넘기고 싶었는데, 나름대로 성공한 것 같다. 8/7(일) 아침에 토익을 신청해 두고 그 직전 1주동안 산타 토익 앱을 이용해서 무료로 사용할 수 있는 서비스만 이용한 것이 전부였다. 그래서, 토익 시험비 5만원 정도 + 1주 중 틈틈히 이동시간이나 심심할 때를 투자하고 컷을 넘겨서 기분이 좋다 ㅋㅋㅋ 근데 실제 시험 결과도 860이 나왔는데, 산타 토익의 예측도 거의 그정도였던 것을 생각하면 이게 AI인가?? 2. Codeforces Specialist 이 계획이 여름방학 중에 달성하고 싶었던 2순위였는데, 아쉽게도 그린은 갔지만 민트는 못갈거 같다..

계획과 후기 2022.08.27

PS 환경 설정 글 모음

https://m.blog.naver.com/haybbang/221437143854 Visual Studio 콘솔 창 꺼짐 현상 해결 (Ctrl+F5 디버그하지 않고 시작) 종강하고 오랜만에 공부하려 마음을 먹고 비주얼 스튜디오에 새 프로젝트를 만들고 간단한 출력문부터 쳐봤... blog.naver.com https://2jinishappy.tistory.com/55 PS/알고리즘 문제풀이 처음 시작하기(3) - freopen 함수를 활용한 입출력 간소화 우리는 알고리즘 문제를 풀 때 엄청나게 많은 시행착오를 거친다 요즘에는 알고리즘 문제 사이트, 기업 코딩테스트, 대회 문제 등에서도 입출력 형식은 거의 정해져있다 보통 많은 테스트케이 2jinishappy.tistory.com https://miniol..

PS 2022.07.23

[CF] Codeforces Round #809 (Div. 2)

https://codeforces.com/contest/1706 Dashboard - Codeforces Round #809 (Div. 2) - Codeforces codeforces.com A. Another String Minimization Problem (00:09) 그리디하게 가능한 경우만 앞에서부터 B 대신 A를 출력해주면 된다. 이때, 가능한 경우는 다음과 같다. chk[i] = a배열에서 i의 개수라 할 때, chk[i]>0 또는 chk[m+1-i]>0 인 경우이다. B. Making Towers (01:27) 색 i가 연속해서 쌓이려면, 직전에 나온 i와의 인덱스 차이가 홀수여야 한다. 그래서 나는 처음에 마지막 나온 i를 저장하는 변수를 만들어서 풀려고 했는데, 그렇게 되면 반례가 생긴..

CP 2022.07.19

[CF] Codeforces Round #806 (Div. 4)

https://codeforces.com/contest/1703 Dashboard - Codeforces Round #806 (Div. 4) - Codeforces codeforces.com A. YES or YES? (00:02) (s[0]=='y' || s[0]=='Y') && (s[1]=='e' || s[1]=='E') && (s[2]=='s' || s[2]=='S') 인지를 확인해 풀었다. B. ICPC Balloons (00:05) 주어진 문자열의 각각의 문자를 순회하면서, 처음 나온 알파벳이면 답에 +2, 아니면 +1을 해서 답을 출력하면 된다. C. Cypher (00:17) A, B까지는 속도감 있게 빨리 풀었던 것 같은데, 점수를 더 높이려면 이 문제를 10분 정도에 풀었으면 좋겠다는 생..

CP 2022.07.15

[CF] Codeforces Round #805 (Div. 3)

https://codeforces.com/contest/1702 Dashboard - Codeforces Round #805 (Div. 3) - Codeforces codeforces.com A. Round Down the Price (00:04) 정수 m이 입력되면, m보다 작거나 같은 최대 \( 10^k \)꼴의 수와의 차를 출력해야한다. 나는 m를 문자열로 입력받아서, m-(1에 10를 m.length()-1번 곱한 수) 를 출력해 풀었다. B. Polycarp Writes a String from Memory (00:18) 그냥 구현 문제이다. 서로 다른 3개의 문자만 있는 부분 문자열의 개수를 세면 된다. 나는 서로 다른 3개를 저장하는 vector를 관리해서 풀었다. vector의 erase,..

CP 2022.07.14