분류 전체보기(9)
-
선린 가을맞이 알고리즘 챌린지 문제 풀이
드디어 대회가 끝났습니다! 참가자 여러분 모두 정말 수고 많으셨습니다. 문제는 이번 주 일요일에 백준 온라인 저지에서 열리는 Open Contest가 종료되면 공개될 예정입니다. 문제는 2-6 조찬우(myyh1234), 2-1 김채완(amsminn), 2-1 남승원(erolf0123)이 출제했습니다. 예상 난이도는 운영진이 예상한 문제의 solved.ac 티어를 의미합니다. 정답 코드들은 더보기에 적었습니다. 목차 스물셋(백준 23251번) 블록(백준 23252번) 자료구조는 정말 최고야(백준 23253번) 나는 기말고사형 인간이야(백준 23254번) 구름다리 2(백준 23255번) 성인 게임(백준 23256번) 비트코인은 신이고 나는 무적이다(백준 23257번) 밤편지(백준 23258번) Celebri..
2021.10.17 -
유용한 C++ 라이브러리
C++을 쓰는 이유에서 언급했다시피 C++에는 유용한 라이브러리/함수가 많습니다. 대회 중 인터넷 검색도 허용되는 만큼 많은 도움이 되었으면 좋겠습니다. 팁: #include "bits/stdc++.h" 로 알고리즘 문제풀이에 쓰는 모든 헤더파일을 불러올 수 있습니다 Visual Studio에서 기본 제공되지는 않는데 대회 당일에 시간이 남으면 세팅해둘게요 목차 배열/벡터 정렬(sort) 작은 거, 큰 거(min, max) 배열/벡터에서 가장 작은 거, 가장 큰 거(min_element, max_element) 벡터에서 중복 원소 제거 원하는 원소를 빠르게 넣고 빼고 싶을 때(set) 일대일 대응시키고 싶을 때(map) 배열/벡터 정렬(sort) 헤더파일: 1 2 3 4 5 6 7 8 9 10 11 12..
2021.10.14 -
플로이드-와샬 알고리즘
마지막 주제는 그래프에서 지름길을 찾는 플로이드-와샬 알고리즘입니다! 마지막에 와서야 드디어 "알고리즘" 이 붙은 주제를 만났습니다. 이해하거나 납득하기 조금 어려울 수 있지만 코드가 굉장히 간단한 알고리즘인 만큼 어떻게 돌아가는지 과정 하나하나를 자세히 들여다보며 이해한다면 본선 문제도 어렵지 않게 풀 수 있고, 알고리즘의 재미도 느낄 수 있을 것 같습니다!! 목차 최단경로 알고리즘이란? 플로이드-와샬 알고리즘 톺아보기 동작 방식 주의할 점 연습문제 최단 경로 알고리즘이란? 최단경로를 구하는 알고리즘에는 BFS, 다익스트라, 벨만-포드, 그리고 오늘 공부할 플로이드-와샬 알고리즘 등이 있습니다. 한두 가지는 들어보았을 수도 있을 것 같은데요, 최단 경로 알고리즘이 뭐길래 이렇게 종류가 많을까요? 최단경..
2021.10.12 -
다이나믹 프로그래밍
드디어 중간고사가 끝났습니다!!!!!!!!!!!! 결과가 어땠든 모두 수고하셨습니당 세 번이나 이어진 자료구조 주제가 끝나고 더 알고리즘과 가까운 주제를 다룰 차례입니다. 이번 주제 역시 소수전공이나 여기저기서 접한 친구들도 있을 것 같습니다. 보통 다이나믹 프로그래밍에 익숙해지면서 대회 알고리즘에 재미를 붙이는 경우가 많은데요. 어렵지만 그만큼 재미있고, 대회에서뿐만 아니라 현실에서도 아주 유용하고 코테에도 자주 나오니 많이 공부해 보면 좋겠습니다! ※ 다이나믹 프로그래밍 == 동적 계획법 == 동적 프로그래밍 == DP(Dynamic Programming) 입니다. 메모이제이션은 약간 미묘하게 의미가 다릅니다 ※ 이름이 "다이나믹" 프로그래밍 이라는 이유는 딱히 없습니다. 이름 지을 때 있어 보이는 ..
2021.10.09 -
그래프의 표현
중간고사가 한창인 와중, 벌써 세 번째 주제인 "그래프의 표현"을 알아볼 차례가 되었습니다! 여러분은 시험 잘 보셨는지 모르겠네요.. 저는 잘 모르겠습니다 ㅠㅠ 2학년 소프트웨어과 친구들은 어디서 많이 본 주제일 텐데요 중간고사 기간에 올리는 주제답게 단순한 내용이기 때문에 정말 가볍게 읽어도 좋을 것 같아요 목차 그래프란? 용어 몇 가지 vector 자료형(C++) 구현 방법 그래프란? 알고리즘이나 이산수학을 공부하지 않은 사람들은 "그래프" 라고 하면 막대그래프/꺾은선그래프/원그래프 등 도표를 떠올립니다. 하지만 우리가 알아볼 그래프는 조금 다르면서도, 앞서 언급한 도표들만큼 강력한 구조입니다. 그래프는 정점과 이들을 잇는 간선으로 이루어진 구조를 말합니다. 정점은 특정한 객체를, 정점 사이를 잇는 ..
2021.10.06 -
우선순위 큐
※ 선린냥이 사진이 다 떨어졌습니다.. 두 번째 주제인 "우선순위 큐" 입니다! "힙" 이라는 이름으로 알고 계신 분들도 있을 것 같습니다. 알고리즘 문제를 풀 때도 많이 쓰이고, 현실의 문제를 해결할 때도 유용한 자료구조인 만큼 꼭 알아두면 좋을 것 같아요! 스택 글과 마찬가지로 내부적인 원리보다는 어떻게 쓰는지, 어떻게 활용하는지 위주로 다루도록 하겠습니다 사용법은 제가 Python에서 우선순위 큐를 써 본 적이 없어서.. C++ 위주로 다루겠습니다 그냥 C 쓰던 대로 쓰면 되니까.. 웬만하면 C++ 쓰는 걸 추천합니다 목차 우선순위 큐란? (아무도안궁금해할것같아서짧게쓴)원리 어떻게 쓰나요 응용 문제 우선순위 큐란? 이전 주제인 스택을 생각해보면, 항상 나중에 넣은 데이터가 먼저 나왔습니다. 이러한 ..
2021.10.04