본문 바로가기

전체207

[프로그래머스] 가사 검색 출처: 2020 KAKAO Blind Recruitment 문제 링크: programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제에 대한 자세한 내용은 링크를 통해 직접 확인하시기 바랍니다. 이분 탐색 문제를 풀던 중 나온, 카카오 기출문제들이 으레 그렇듯 꽤 난이도 있는 문제입니다. 정확히는 정석대로 이분 탐색을 구현하는 것이 아닌, lower_bound와 upper_bound 함수를 이용하여 구현하는 방식입니다. 문제를 접근한 순서는 다음과 같습니다. 각 단어를 길이에 따라 나눈다. 각 단어 길이 배열을 알파벳 순서로 정렬한다. 이진 탐색을 통해 쿼리의 단어로 시작하는 마지막 단어와 첫 단어의 인덱스를 구.. 2021. 3. 8.
SW마에스트로 12기 지원 (최종결과 탈락) www.swmaestro.org/sw/main/main.do SW마에스트로 NEWS 제12기 온라인 과정설명회 Q&A 지원 자격 Q. 지원 서류 제출 기간에는 4대 보험에 가입되어 있는데 지원해도 되나요? 지원서 제출 기간에는 4대 보험 가입 여부와 관계 없이 지원하실 수 있 www.swmaestro.org 취업 준비를 하고 있지만, 제 실력이 부족한 부분이 많기도 한 것이 사실입니다. 그래서 요새 여기저기 많은 곳에 지원을 하고 있는 중에, SW마에스트로를 통해 교육을 받으며 공부를 하는 것도 좋겠다 싶어서 지원하게 되었습니다. 선발 과정은 아래와 같습니다. 저는 공고를 보고 2월 중순에 지원을 했고, 2월 27일에 첫 코딩 테스트를 보았습니다. 첫 코딩 테스트는 2시간 제한에 총 8문제가 나왔는데, .. 2021. 3. 8.
[백준 2110번] 공유기 설치 난이도: 실버 1 문제 링크: www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 이분 탐색을 이용하는 문제 중 꽤 애를 먹은 문제입니다. 어느 부분에서 이분 탐색을 이용해야 하는지 고민을 많이 했는데, 다른 블로그 (링크)의 글을 참고하여 알고리즘을 이해했습니다. 문제의 접근 순서는 다음과 같습니다. 주어진 집들의 좌표를 오름차순으로 정렬한다 (이분 탐색의 기본 조건). 집들 사이의 거리를 초기화한다. 최솟값.. 2021. 3. 8.
[프로그래머스] 실패율 출처: 2019 KAKAO Blind Recruitment 문제 링크: programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 문제의 자세한 설명과 제한사항은 링크에서 직접 확인하시기 바랍니다. 정렬을 이용하는 상황을 공부하던 중 마주한 문제인데, 정렬과 구현이 합쳐진 듯한 인상을 주길래 좋은 문제인 것 같아서 가지고 왔습니다. 문제에서 주어지는 입력을 정리해 보았습니다. N: 스테이지의 개수, 1 2021. 3. 1.
[백준 1647번] 도시 분할 계획 난이도: 골드 4 문제 링크: www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수N, 길의 개수M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 집 www.acmicpc.net 기본적인 크루스칼 알고리즘을 사용하고, 약간의 아이디어를 내서 최소 신장 트리를 두 개로 분할하는 문제입니다. 크루스칼 알고리즘에 대한 자세한 내용은 그래프 이론 글의 크루스칼 알고리즘 파트를 참고해 주세요. 최소 신장 트리에 대해 다시 복습해 봅시다. 모든 노드가 연결되어 있으며, 그 연결된 값의 총합이 최소가 될 때 최소 신장 트리라고 부릅.. 2021. 2. 13.
그래프 이론 그래프 자료구조는 코딩 테스트에서 난이도가 제법 있으면서도 어려운 부분입니다. 앞서 살펴본 DFS/BFS, 최단 경로 모두 그래프 자료구조를 활용합니다. 이 외에도 다양한 그래프 자료구조를 이용한 문제들과 알고리즘이 있으며, 이들 역시 코딩 테스트에 종종 등장하므로, 반드시 알아 두어야 합니다. 이런 알고리즘은 또한 앞에서 소개한 개념에 포함되기도 합니다. 아래 소개할 크루스칼 알고리즘의 경우 그리디 알고리즘에 포함되며, 위상 정렬의 경우 큐/스택 자료구조를 잘 알고 있어야 이해할 수 있습니다. 더불어, 트리 (tree) 자료구조는 그래프 자료구조를 이용하는 다양한 알고리즘에서 사용되므로, 잘 알아 두어야 합니다. 앞서 최단 거리를 살펴볼 때 등장했던 우선순위 큐의 경우, 최대/최소 힙을 이용하는데, 힙.. 2021. 2. 12.