분류 전체보기
-
알고스팟 문제 풀이 BOGGLE24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 10. 8. 16:59
책 "알고리즘 문제 해결 전략"에 나오는 algospot 문제 "BOGGLE"에 대한 풀이입니다. 목차 문제 해결 전략 - 무작정 풀기 코드 전문 - 무작정 풀기 문제 해결 전략 - 동적 계획법 코드 전문 - 동적 계획법 BOGGLE 문제 URL은 다음과 같습니다. BOGGLE URL 문제 해결 전략 - 무작정 풀기 먼저 제가 접근한 문제 해결 전략은 "무작정 풀기"입니다. 문제의 입력 분석과 해결 조각 찾기 우리가 문제를 해결하기 위해선는, 5x5의 보드판 board, 길이 10 이하의 문자열 s라는 입력이 필요하다는 것을 알아야 합니다. 실제 테스트 케이스 1개당 문자열 N개를 받습니다만, 결국 이 문제의 핵심은 "보드판에서 인접한 위치만 이동함으로써 문자열을 만들 수 있느냐"입니다. main 함수의..
-
알고스팟 문제 풀이 BOARDCOVER24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 10. 6. 16:48
책 "알고리즘 문제 해결 전략"에 나오는 algospot 문제 "BOARDCOVER"에 대한 풀이입니다. 목차 문제 해결 전략 코드 전문 문제 해결 전략 BOARDCOVER 문제 URL은 다음과 같습니다. BOARDCOVER URL 제가 이 문제를 해결하기 위해서 체택한 방법은 "무식하게 풀기"입니다. 결론부터 말씀드리면 이 문제는 다음과 같이 풀 수 있습니다. 보드를 좌표 (0, 0) 부터 시작해서 보드 끝 좌표 (W-1, H-1)까지 다음을 반복합니다. 블럭을 넣을 수 있는 좌표 (x, y)를 찾습니다. (x, y)에 L자 블럭을 넣을 수 있으면 넣습니다. 계속 채워나가다, 좌표 끝에 도달했을 때, 보드판을 모두 채웠으면, 그 개수를 셉니다. 사실 이렇게 해결책을 제시해도 말이 쉽지 우리가 바로 알고..
-
알고스팟 문제 풀이 PICNIC24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 9. 27. 11:10
책 "알고리즘 문제 해결 전략"에 나오는 algospot 문제 "PICNIC"에 대한 풀이입니다. 목차 문제 해결 전략 코드 전문 문제 해결 전략 PICNIC 문제 URL은 다음과 같습니다. 급하신 분들은 바로, 코드 전문으로 넘어가주세요! PICNIC URL 제가 이 문제를 해결하기 위해서 체택한 방법은 "무식하게 풀기"입니다. 먼저 이해를 위해서 3번째 입력에 대해서, 살펴보도록 하겠습니다. n = 6, m = 10 set = (0, 1), (0, 2), (1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4), (3, 5), (4, 5) 이것을 그림으로 나타내 봅시다. 먼저 (0, 1) 세트를 골랐을 때, 다음으로 고를 수 있는 친구의 셋은 (2, 3), (2, 4), (..
-
자료구조 AVL 트리와 구현24년 11월 이전/레거시-자료구조 2019. 9. 23. 22:53
Contents 시작하며... AVL 트리의 이해 BST의 문제점 균형을 잡기 위한 회전 LL 회전 RR 회전 LR 회전 RL 회전 AVL 트리의 구현 AVL 트리 헤더 AVL 트리 생성 AVL 트리 파괴 AVL 트리 데이터 출력 AVL 트리 데이터 검색 AVL 트리 데이터 삽입 AVL 트리 데이터 삭제 AVL 트리 균형 조정 마치며... 시작하며... 구르미의 "Computer Science 정복하기 - 자료구조"의 스무 한 번째 장입니다. 이 장의 대략적인 내용은 다음과 같습니다. AVL 트리의 이해 AVL 트리의 구현 이 장의 소스코드는 다음을 참고해주세요. url: https://github.com/gurumee92/datastructure branch: ch21 code directory: sr..
-
그래프 응용 2부 최소 신장 트리(MST)와 크루스칼 알고리즘24년 11월 이전/레거시-자료구조 2019. 9. 21. 18:19
Contents 시작하며... 최소 신장 트리의 이해 프림 알고리즘의 이해 크루스칼 알고리즘의 이해와 구현 마치며... 시작하며... 구르미의 "Computer Science 정복하기 - 자료구조"의 스물 다섯 번째 장입니다. 이 장의 대략적인 내용은 다음과 같습니다. 최소 신장 트리의 이해 프림 알고리즘의 이해 크루스칼 알고리즘의 이해와 구현 이 장의 소스코드는 다음을 참고해주세요. url: https://github.com/gurumee92/datastructure branch: ch25 code directory: src/ch25 자 시작합시다! 최소 신장 트리의 이해 이번 시간에는 그래프의 응용중 하나인 **최소 신장 트리(Minimum Spanning Tree 이하 MST)**에 대해서 알아봅니..
-
그래프 응용 1부 DFS와 BFS24년 11월 이전/레거시-자료구조 2019. 9. 20. 16:29
Contents 시작하며... 깊이 우선 탐색 DFS DFS 이해 DFS 구현 - 스택 DFS 구현 - 재귀 너비 우선 탐색 BFS BFS 이해 BFS 구현 마치며... 시작하며... 구르미의 "Computer Science 정복하기 - 자료구조"의 스물 네 번째 장입니다. 이 장의 대략적인 내용은 다음과 같습니다. DFS의 이해와 구현 BFS의 이해와 구현 이 장의 소스코드는 다음을 참고해주세요. url: https://github.com/gurumee92/datastructure branch: ch24 code directory: src/ch24 자 시작합시다! 깊이 우선 탐색 DFS 먼저 그래프의 모든 정점을 탐색하는 방법 중 하나로 깊이 우선 탐색, 영어로는 "Depth First Search",..
-
자료구조 그래프와 구현24년 11월 이전/레거시-자료구조 2019. 9. 19. 16:29
Contents 시작하며... 그래프의 이해 그래프란 무엇인가? 방향 그래프 vs 무방향 그래프 인접 리스트 기반 그래프 vs 인접 행렬 기반 그래프 그래프 ADT 인접 리스트 기반 그래프의 구현 그래프 헤더 그래프 생성 그래프 파괴 그래프 간선 확인 그래프 간선 추가 그래프 간선 삭제 인접 행렬 기반 그래프의 구현 그래프 헤더 그래프 생성 그래프 파괴 그래프 간선 확인 그래프 간선 추가 그래프 간선 삭제 마치며... 시작하며... 구르미의 "Computer Science 정복하기 - 자료구조"의 스물 세 번째 장입니다. 이 장의 대략적인 내용은 다음과 같습니다. 그래프의 이해 인접 리스트 기반 그래프의 구현 인접 행렬 기반 그래프의 구현 이 장의 소스코드는 다음을 참고해주세요. url: https://..
-
자료구조 해쉬 테이블과 구현24년 11월 이전/레거시-자료구조 2019. 9. 18. 11:11
Contents 시작하며... 해쉬 테이블의 이해 해쉬 테이블이란 무엇인가? 해쉬란 무엇인가? 해쉬 테이블 ADT 간단한 해쉬 테이블의 구현 해쉬 테이블 헤더 해쉬 테이블 생성 해쉬 테이블 파괴 해쉬 테이블 데이터 검색 해쉬 테이블 데이터 삽입 해쉬 테이블 데이터 삭제 간단한 해쉬 테이블의 문제점 문제점 해결 방안 체인드 해쉬 테이블의 구현 해쉬 테이블 헤더 해쉬 테이블 생성 해쉬 테이블 파괴 해쉬 테이블 데이터 검색 해쉬 테이블 데이터 삽입 해쉬 테이블 데이터 삭제 마치며... 시작하며... 구르미의 "Computer Science 정복하기 - 자료구조"의 스물 두 번째 장입니다. 이 장의 대략적인 내용은 다음과 같습니다. 해쉬 테이블의 이해 간단한 해쉬 테이블 구현 간단한 해쉬 테이블의 문제점과 해결..