jmbook
코난쿤이 작성한 알고리즘 문제 해결 전략 (종만북)에 나오는 문제들에 대한 해답 모음입니다.
체크리스트
- 본인이 해결한 문제들을 쉽게 관리할 수 있도록 도와주는 체크리스트 입니다.
- 해결 및 실패한 문제 수와 전체 문제 대비 해결한 문제의 비율을 보여줍니다.
- 알파벳 O 로 체크하면 해결, X 로 체크하면 실패, ^ 로 체크하면 해결할 예정(찜)으로 분류됩니다.
- 다운로드
주의 사항
- 반드시 코드를 보기 전에 충분히 고민 한 후 참고해주세요! 안그러면 실력이 늘기 힘듭니다.
- 책에 나오는 방식과 구현이 다를 수 있습니다.
문제 목록
- X 라고 적힌 문제는 아직 해결하지 않은 문제이며 빠른 시일내에 해결 후 업로드 할 예정입니다.
- 1장: 문제 해결과 프로그래밍 대회
- 록 페스티벌 (FESTIVAL)
- 2장: 문제 해결 개관 (연습문제 없음)
- 3장: 코딩과 디버깅에 관하여 (연습문제 없음)
- 4장: 알고리즘의 시간 복잡도 분석 (연습문제 없음)
- 5장: 알고리즘의 정당성 증명 (연습문제 없음)
- 6장: 무식하게 풀기
- 보글 게임 (BOGGLE)
- 소풍 (PINIC)
- 게임판 덮기 (BOARDCOVER)
- 시계 맞추기 (CLOCKSYNC)
- 7장 : 분할 정복
- 쿼드 트리 뒤집기 (QUADTREE)
- 울타리 잘라내기 (FENCE)
- 팬미팅 (FANMEETING) (X)
- 8장: 동적 계획법
- 외발 뛰기 (JUMPGAME)
- 와일드카드 (WILDCARD)
- 삼각형 위의 최대 경로 (TRIANGLEPATH)
- 최대 증가 부분 수열 (LIS)
- 합친 LIS (JLIS)
- 원주율 외우기 (PI)
- Quantization (QUANTIZE)
- 타일링 방법의 수 세기 (TILING2)
- 삼각형 위의 최대 경로 개수 세기 (TRIPATHCNT)
- 장마가 찾아왔다 (SNAIL)
- 비대칭 타일링 (ASYMTILING)
- 폴리오미노 (POLY)
- 두나발 박사의 탈옥 (NUMB3RS)
- 9장: 동적 계획법 테크닉
- 여행 짐 싸기 (PACKING)
- 광학 문자 인식 (OCR) (X)
- 모스 부호 사전 (MORSE) (X)
- k번째 최대 증가 부분 수열 (KLIS) (X)
- 드래곤 커브 (DRAGON) (X)
- 웨브바짐 (ZIMBABWE) (X)
- 실험 데이터 복구하기 (RESTORE) (X)
- 틱택토 (TICTACTOE) (O)
- 숫자 게임 (NUMBERGAME) (O)
- 블록 게임 (BLOCKGAME) (O)
- 회전초밥 (SUSHI)
- 지니어스 (GENIUS) (X)
- 10장: 탐욕법
- 출전 순서 정하기 (MATCHORDER)
- 도시락 데우기 (LUNCHBOX)
- 문자열 합치기 (STRJOIN)
- 미나스 아노르 (MINASTIRITH) (X)
- 11장: 조합 탐색
- 게임판 덮기 2 (BOARDCOVER2) (X)
- 알러지가 심한 친구들 (ALLERGY) (X)
- 카쿠로 (KAKURO2) (X)
- 12장: 최적화 문제 결정 문제로 바꿔 풀기
- DARPA Grand Challenge (DARPA)
- 남극 기지 (ARCTIC)
- 캐나다 여행 (CANADATRIP)
- 수강 철회 (WITHDRAWAL)
- 13장: 수치 해석
- 단변수 다항 방정식의 수치적 해법 (ROOTS) (X)
- 전세금 균등상환 (LOAN)
- 승률 올리기 (RATIO)
- 철인 2종 경기 (UVA 10385) (X)
- 꽃가루 화석 (FOSSIL) (X)
- 14장: 정수론
- 비밀번호 486 (PASS486)
- 마법의 약 (POTION)
- 15장: 계산 기하
- 핀볼 시뮬레이션 (PINBALL) (X)
- 보물섬 (TREASURE) (X)
- 너드인가, 너드가 아닌가(NERDS) (X)
- 16장: 비트마스크
- 졸업 학기 (GRADUATION)
- 17장: 부분 합
- 크리스마스 인형 (CHRISTMAS)
- 18장: 선형 자료 구조
- 조세푸스 문제 (JOSEPHUS)
- 19장: 큐와 스택, 데크
- 짝이 맞지 않는 괄호 (BRACKETS2)
- 외계 신호 분석 (ITES)
- 20장: 문자열
- 작명하기(접두사/접미사) (NAMING)
- 팰린드롬 만들기 (PALINDROMIZE)
- 재하의 금고 (JAEHASAFE)
- 말버릇 (HABIT) (X)
- 21장: 트리의 구현과 순회
- 트리 순회 순서 변경 (TRAVERSAL)
- 요새 (FORTRESS)
- 22장: 이진 검색 트리
- 너드인가, 너드가 아닌가(2 (NERD2) (X)
- 삽입 정렬 뒤집기 (INSERTION) (X)
- 23장: 우선순위 큐와 힙
- 변화하는 중간 값 (RUNNINGMEDIAN)
- 24장: 구간 트리
- 등산로 (MORDOR)
- 족보 탐험 (FAMILYTREE)
- 삽입 정렬 시간 재기 (MEASURETIME)
- 25장: 상호 배타적 집합
- 에디터 전쟁 (EDITORWARS)
- 26장: 트라이
- 안녕히, 그리고 물고기는 고마웠어요! (SOLONG) (X)
- 보안종결자 (NH) (X)
- 27장: 그래프의 표현과 정의 (연습문제 없음)
- 28장: 그래프의 깊이 우선 탐색
- 고대어 사전 (DICTIONARY)
- 단어 제한 끝말잇기 (WORDCHAIN)
- 감시 카메라 설치 (GALLERY)
- 회의실 배정 (MEETINGROOM) (X)
- 29장: 그래프의 너비 우선 탐색
- Sorting Game (SORTGAME)
- 어린이날 (CHILDRENDAY) (X)
- 하노이의 탑 (HANOI4) (X)
- 30장: 최단 경로 알고리즘
- 신호 라우팅 (ROUTING)
- 소방차 (FIRETRUCKS)
- 철인 N종 경기 (NTHLON)
- 시간여행 (TIMETRIP)
- 음주 운전 단속 (DRUNKEN)
- 선거 공약 (PROMISES)
- 31장: 최소 스패닝 트리
- 근거리 네트워크 (LAN)
- 여행 경로 정하기 (TPATH)
- 32장: 네트워크 유량
- 승부 조작 (MATCHFIX)
- 비숍 (BISHOPS)
- 함정 설치 (TRAPCARD)