SERIES

Algorithm

12 Posts·Last updated on May 30, 2022

프로그래머스 2017 팁스타운 - 짝지어 제거하기

December 25, 2021

문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지…


프로그래머스 2020 KAKAO BLIND RECRUITMENT - 괄호 변환

January 16, 2022

문제 설명 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일…


프로그래머스 2022 KAKAO RECRUITMENT - 신고 결과 받기

January 20, 2022

문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신…


프로그래머스 2022 KAKAO RECRUITMENT - k진수에서 소수 개수 구하기

January 23, 2022

문제 설명 양의 정수 이 주어집니다. 이 숫자를 진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 처럼 소수 양쪽에 0이 있는 경우 처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 처럼 소수 양쪽에 아무것도 없는…


프로그래머스 2018 KAKAO RECRUITMENT - [1차]캐시

February 05, 2022

문제 설명 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이…


프로그래머스 2021 KAKAO BLIND RECRUITMENT - 순위 검색

February 11, 2022

문제 설명 카카오는 하반기 경력 개발자 공개채용을 진행 중에 있으며 현재 지원서 접수와 코딩테스트가 종료되었습니다. 이번 채용에서 지원자는 지원서 작성 시 아래와 같이 4가지 항목을 반드시 선택하도록 하였습니다. 코딩테스트 참여 개발언어 항목에 cpp, java, python 중 하나를 선택해야 합니다. 지원 직군 항목에 backend와 frontend …


알고리즘 완전탐색(Exhaustive search)이란

April 17, 2022

완전탐색이란? 완전탐색이란 가능한 모든 경우의 수 를 모두 찾는 방법이다. 이러한 방법은 무식한 한다는 의미로 'Brute Force'라고도 이름이 불린다. 완전탐색은 직관적이어서 이해하기 쉽고, 문제에 대한 결과값이 정확하게 얻을 수 있다 는 점에서 가장 확실하고 기초적인 문제 풀이 방법이다. 알고리즘 문제를 풀때에는 기본적으로 두가지를 생각하고 들어간…


그리디 알고리즘(Greedy Algorithm)에 대해

April 24, 2022

그리디(탐욕) 알고리즘에서 그리디(탐욕법) 알고리즘이란 이름에서 유추해 볼 수 있듯이 현재 상황에서 가장 최선의 선택 을 하는 알고리즘을 말한다. 매 순간마다 하는 선택은 그 순간에 대해 으로는 최적이지만, 그 선택들을 계속 수집하여 최종적()인 해답을 만들었다고 해서, 그것이 최적의 해답이라는 보장은 없다. 하지만 그리디 알고리즘을 적용할수 있는 문제…


알고리즘 DFS/BFS 탐색 방법 알아보기

May 04, 2022

그래프에서는 와 방식으로 모든 정점을 탐색한다. 그래프는 따로 파트를 나누어 학습을 하고 이번 포스팅은 그래프의 탐색 방법의 기본이 되는 와 에 대해서 정리하려고 한다.🤔 깊이 우선 탐색(DFS, Depth-First Search) 🧷DFS는 미로에서 출구를 찾는것과 비슷하다고 볼 수 있다. 하나의 길을 갈때 쭉 진행하다가 길이 막히면 왔던길을 되돌아 가…


알고리즘 Dynamic Programming(동적 프로그래밍) 살펴보기

May 13, 2022

Dynamic Programming(동적 프로그래밍) 동적 프로그래밍이란 주어진 문제를 부분 문제로 나누어 각 부분 문제의 답을 계산하고, 이 계산한 결과값을 이용해 원래 문제의 답을 산출 하는 방법이다. Divide And Conquer 동적 프로그래밍과 같이 큰 문제를 작은 문제로 나누는 알고리즘은 분할 정복(Divide And Conquer) 이 있…