▼ Why ? What ? PCCP 특강 때 정렬(Sort) 관련 문제들을 풀어보면서 관련 메서드와 작동 원리에 대해 공부해보고 정리해뒀었다. 이번 주차엔 그때 정리해뒀던 내용들을 보면 복습해보고, 컬렉션 정렬을 이용하는 문제도 풀어보려고 한다. ( 오늘 교내에서 열린 알고리즘 대회에 참여했는데, 배열과 컬렉션 간의 변환 방법이 잘 기억나지 않아 이 부분에 대해서도 같이 공부해보려고 한다. ) ▼ 정렬 (Sort) 정렬 ? 정렬 (참고 자료) - [PCCP] 스택 · 큐 · 정렬 · 그리디 관련 개념 정리 — Uykm_Note (tistory.com) IntStream.of(tmp) .boxed() .collect(Collectors.toList())) .collect(Collectors.toList()..
▼ Why ?대학 강의 "Data structure" 에서 '우선순위 큐(Priority Queue)'를 구현하기 위해 '힙(Heap)' 이라는 자료구조에 대해 배웠었다. 그리고 "이산수학" 과 "알고리즘" 이라는 강의에선 배운 '허프만 코딩(Huffman coding)' 을 구현하기 위해선 '우선순위 큐' 를 생성해주기 때문에 '힙(Heap)'이라는 자료구조를 이해할 필요가 있었다. 이처럼 '우선순위 큐(Priority Queue)' 는 주로 '최대 힙(Max Heap)' 을 기반으로 구현하게 되는데, 그 이유는 힙(Heap)의 특성상 최대값(Max) 혹은 최소값(Min)을 찾을 때 선형 시간 O(1)이 걸리고 데이터의 삽입 및 삭제 속도도 O(logN) 시간이 소요되기 때문이다. 일반적인 '큐(Q..
▼ What ? 2주차엔 커리큘럼대로 스택과 큐에 대해서 공부해보고, 이 관련된 알고리즘 문제를 해결한 후 관련 내용에 대해 정리해보려고 한다. 스택과 큐에 관해서도 마찬가지로 방학때 공부하기도 했었고 따로 정리도 해놨었기 때문에 해당 글을 보면서 복습하는 시간을 가졌다. ▼ 스택(Stack) & 큐(Queue) 스택(Stack) ? 큐(Queue) ? 참고 자료 - [PCCP] 스택 · 큐 · 정렬 · 그리디 관련 개념 정리 — Uykm_Note (tistory.com) priority) { isDelay = true; break; } } if(isDelay) { indexQueue.offer(indexQueue.poll()); } else { answer++; int process = indexQue..
▼ What ? 1주차엔 커리큘럼대로 해시에 대해서 공부해보고, 해시와 관련된 알고리즘 문제를 해결한 후 관련 내용에 대해 정리해보려고 한다. 해시는 방학때 공부하기도 했었고 따로 정리도 해놨었기 때문에 해당 글을 보면서 복습하는 시간을 가졌다. ▼ 해시 (Hash) 해시 (Hash) ? 참고 자료 - [PCCP] 해시 테이블 (Hash table) & 충돌 해결 — Uykm_Note (tistory.com) [PCCP] 해시 테이블 (Hash table) & 충돌 해결 ▼ Why ? 해시 테이블을 이용하여 해결하는 알고리즘 문제를 풀기 전에, 해시 테이블이 무엇인지와 해시 함수를 통해 발생하는 충돌을 해결하는 방법에 대해 공부해보려고 한다 ▼ 해시 테이블 Ha ukym-tistory.tistory.co..
▼ Why ? 알고리즘은 꾸준하게 풀어보는게 중요하다고 생각해서 혼자 하는 것도 좋지만 같이 하는 사람이 있어야 핑계없이 꾸준하게 할 수 있을 것 같다고 생각한다. 그래서 GDSC 스터디 공지가 있기 전부터 알고리즘 스터디는 꼭 하고 싶었고, 이번 GDSC Slack에서 11월 30일까지 진행하는 1쿼터 스터디들 중 알고리즘 스터디에 이렇게 참여하게 됐다. ▼ What ? 스터디 내용은 다음과 같다 한 주차마다 주제 하나를 공부하고 정리 (자율) 백준이나 프로그래머스에서 해당 주제와 관련된 문제를 최소한 1문제를 스스로 해결 한 주에 한번 해당 주제와 관련된 풀었던 문제에 대해서 문제 이름, 코드, 간단한 코멘트와 함께 정리하여 슬랙에 인증 ! 스터디장님이 제시한 아래의 커리큘럼에 따라 스터디를 진행해보..
▼ What ? 이번에 해결한 문제는 2차원 배열의 행과 열을 다루는 문제이다. ▼ 스카이라인 문제 정보 N 격자판에 N*N개의 도시 빌딩의 높이정보가 주어집니다. 도시를 앞에서 봤을 때 스카이 라인은 왼쪽부터 해서 [7, 8, 9, 8]의 높이정보로 보이고, 옆에 서 보면 위쪽에서부터 해서 [7, 9, 5, 8]입니다. 매개변수 board에 도시의 각 빌딩의 높이 정보가 주어지면 도시의 스카이라인은 변함이 없이 각 빌딩의 높이를 최대한 높이고자 합니다. 각 빌딩의 높이를 증가시킬 수 있는 최대 높이의 합을 구하는 프로그램을 작성하세요. 제한 사항 board.length의 길이는 100을 넘지 않는 홀수입니다. 입출력 예 어떻게 해결해야 할까 ? 정면과 측면에서 바라본 스카이라인보다 높아지지 않는 선에서..