일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 그리디
- 월간 코드 챌린지
- Gold 5
- Gold 4
- 부스트코스
- 백트래킹
- 스택/큐
- Level 2
- DP
- DFS
- SWEA
- 코드 리뷰
- Level 3
- 2020 카카오 인턴십
- Level 4
- 코드리뷰
- 시뮬레이션
- Web
- BFS
- next_permutation
- 2020 KAKAO BLIND
- 백준
- c++
- 구현
- level 1
- 2019 KAKAO BLIND
- 브루트포스
- 삼성 SW 역량 테스트
- pass
- 프로그래머스
- Today
- Total
목록알고리즘/프로그래머스 (45)
Min:D's Devlog
문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT - 실패율 (Level 1) 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 문제 풀이 접근 방식 이 문제는 카카오 블라인드 공채 1차 코딩테스트 2번 문제로, 게임 이용자들이 현재 멈춰 있는 스테이지 번호를 통해 실패율을 구하는 문제였다. 우선, 주어진 스테이지 번호를 통해 각 스테이지에 머물러 있는 이용자들의 수를 구해 cnt 벡터에 저장해주었다. 그리고 스테이지 번호와 실패율을 저장할 result 벡터을 만들어주고, cnt 벡터를 ..
문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방 (Level 2) 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제 풀이 접근 방식 이 문제는 2019 카카오 블라인드 채용 1차 코딩테스트 1번 문제로, 주어진 채팅방 기록을 통해 최종적으로 보여지는 메시지를 구하는 문제였다. 이 문제는 map을 이용하면 간단하게 해결할 수 있었다. 우선, key 값에는 ID, value에는 닉네임을 저장할 map을 만들어주었다. 그 후, record 문자열을 옵션, ID, 닉네임으로 파..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 괄호 변환 (Level 2) 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 문제 풀이 접근 방식 이 문제는 문자열을 주어진 알고리즘을 수행하여 올바른 괄호 문자열로 변환하는 문제로, 2020 카카오 블라인드 채용 1차 코딩테스트 2번 문제이다. 이 문제는 아래의 사진과 같이 주어진 알고리즘을 그대로 구현하면 되는 문제였다. 재귀적으로 구현해야해서 이해가 쉽지는 않았으나, 주어진대로만 수행하면 문제를 해결할 수 있었다. 우선 바꿔야할 문..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 문자열 압축 (Level 2) 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 공채 1차 코딩테스트 1번 문제이다. 압축하여 표현한 문자열 중 가장 짧은 것의 길이를 구하는 문제였고, string 헤더 파일의 substr을 활용하여 문제를 해결하였다. 우선, 최대 가능한 반복 단위의 길이는 주어진 문자열의 길이의 1/2이다. 그래서 1개 단위부터 (문자열의 길이 / 2) 개 ..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 블록 이동하기 (Level 3) 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 채용 1차 코딩테스트 7번 문제로, 정답률이 1.7%인 쉽지 않은 문제였다. 구하고자 하는 것은 로봇이 (N, N) 위치까지 이동하는데 필요한 최소 시간이다. 이 문제는 최소 시간을 구하는 기존의 BFS + DP 문제와 푸는 방식은 비슷했지만, 로봇이 점 두 개로 이루어져 있어서 구현하기가 복잡하였다. 이 문제를 기존의 방식처럼 풀..
문제 프로그래머스 2020 카카오 인턴십 - 동굴 탐험 (Level 4) 코딩테스트 연습 - 동굴 탐험 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[8,5],[6,7],[4,1]] true 9 [[8,1],[0,1],[1,2],[0,7],[4,7],[0,3],[7,5],[3,6]] [[4,1],[5,2]] true 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[4,1],[8,7],[6,5]] false programmers.co.kr 문제 풀이 접근 방식 프로도가 정한 방문 순서 규칙에 맞게 모든 방을 탐험할 수 있는지를 구하는 문제이다. 이 문제는 이해하기가 너무 어려워서 '질문하기'에 있는 풀이를 참..
문제 프로그래머스 2020 카카오 인턴십 - 경주로 건설 (Level 4) 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 문제 풀이 접근 방식 경주로를 건설하는 데 필요한 최소 비용을 구하는 문제이다. 이 문제는 BFS + DP의 방식..
문제 프로그래머스 2020 카카오 인턴십 - 수식 최대화 (Level 2) 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 � programmers.co.kr 문제 풀이 접근 방식 연산자의 우선순위를 재정의하여 절댓값이 가장 큰 숫자를 만드는 문제이다. 우선, 주어진 expression을 숫자와 연산자로 분류하여 각각 nums, opers에 저장해주었다. 그 후, next_permutation을 활용하여 연산자의 우선순위를 바꿔가며 결괏값을 구해주었고, 그 결과값의 최댓값을 답으로 제출하였다. 연산을 할 때에는 각 연산자의 연산 결괏값을 ..
문제 프로그래머스 2020 카카오 인턴십 - 보석 쇼핑 (Level 3) 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 문제 풀이 접근 방식 모든 보석을 하나 이상 포함하는 가장 짧은 구간을 구하는 문제이다. 문제를 해결하기 위해 우선, unordered_set을 이용하여 보석 종류의 개수를 구하였다. 그 후, for을 수행하며 unordered_map에 각 보석의 인덱스를 저장해주었다. 처음으로 모든 종류의 보석을 발견했을 때, map에 저장되어 있는 인덱스의 최솟값을 answer의 시작 구간, 현재 인덱스(i + 1)를 끝 구간으로 저장해주었다. 또한,..
문제 프로그래머스 2017 카카오코드 예선 - 보행자 천국 (Level 3) 코딩테스트 연습 - 리틀 프렌즈 사천성 리틀 프렌즈 사천성 언제나 맛있는 음식들이 가득한 평화로운 푸드 타운. 푸드 타운에서 행복하게 사는 리틀 프렌즈들은 마을에 있는 매직 스푼을 보물처럼 보관하고 있다. 매직 스푼은 재료만 programmers.co.kr 문제 풀이 접근 방식 출발점에서 도착점까지 이동 가능한 전체 경로의 수를 구하는 문제이다. 이 문제는 단순한 맵이 아닌 조건이 있는 맵이기 때문에 이를 고려하여 DP 방식으로 문제를 해결해주었다. 우선, map의 값이 0인 경우에는 모든 방향으로 움직일 수 있고, 1인 경우에는 갈 수 없으며, 2인 경우에는 직진만 가능하다. 2인 경우에 직진만 가능하기 때문에 수직 방향(↓)..