일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- next_permutation
- Web
- 2020 카카오 인턴십
- 시뮬레이션
- 삼성 SW 역량 테스트
- DP
- Gold 5
- 그리디
- 프로그래머스
- 2020 KAKAO BLIND
- Level 3
- 구현
- 브루트포스
- 2019 KAKAO BLIND
- 스택/큐
- BFS
- 백트래킹
- SWEA
- Gold 4
- c++
- 코드 리뷰
- level 1
- pass
- Level 4
- DFS
- 월간 코드 챌린지
- 백준
- Level 2
- 코드리뷰
- 부스트코스
- Today
- Total
목록전체 글 (83)
Min:D's Devlog
문제 프로그래머스 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인 경우에 직진만 가능하기 때문에 수직 방향(↓)..
문제 프로그래머스 DP - 도둑질 (Level 4) 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 �� programmers.co.kr 문제 풀이 접근 방식 도둑이 훔칠 수 있는 돈의 최댓값을 구하는 문제이다. 주어진 집들은 원형으로 배치되어 있고, 인접한 집을 털 수 없다는 점을 고려하여 문제를 해결하였다. 우선, 집이 3개만 있을 때에는 한 집만 선택 가능하기 때문에, 3군데 중 최댓값을 리턴해주었다. 그 이상인 경우에는 DP 방법으로 문제를 해결하였다. 즉, 첫 번째 집을 반드시 포함하는 경우의 최댓값을 DP1, 두 번째 집을 포함하는..
문제 프로그래머스 그리디 - 단속카메라 (Level 3) 코딩테스트 연습 - 단속카메라 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 문제 풀이 접근 방식 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 구하는 문제이다. 어느 위치에 카메라를 설치하는 것이 좋은지 판단하기 위해 다음과 같이 구현하였다. 우선, 차량의 이동 경로를 오름차순으로 정렬하였다. 그 후, 처음 차량의 이동 구간의 시작과 끝을 start와 end로 지정하고, 다음 차량의 이동 구간이 start와 end 사이인지를 확인하였다. 구간 내에 있는 경우에는 end를 해당 구간의 끝 지점으로 바꿔주고, 이 과정을 반복하여 한 대의 카..
문제 프로그래머스 그리디 - 구명보트 (Level 2) 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 풀이 접근 방식 무게 제한이 있는 구명 보트에 최대 2명씩 태워서 구출할 때, 필요한 구명 보트 개수의 최솟값을 구하는 문제이다. 이 문제를 해결하기 위해 우선, 사람들의 무게를 오름차순으로 정렬하였다. 그 후, 가장 가벼운 사람과 가장 무거운 사람이 함께 탈 수 있는지를 확인하는 방식으로 문제를 해결하였다. 함께 탈 수 있다면 start 인덱스와 end 인덱스를 함께 움직여..
문제 SWEA 모의 SW 역량테스트 - 5648 원자 소멸 시뮬레이션 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 접근 방식 원자들이 소멸되면서 방출하는 에너지의 총합을 구하는 문제이다. 이 문제는 공개된 테스트 케이스가 2개밖에 없어서 정답률이 17.72% 밖에 안 되는 문제였다. 그래서 문제를 풀 때 예외를 찾기가 어려워 난항을 겪었던 문제였다. 그래도 댓글에 테스트 케이스를 제공해주신 분들이 있어서 많은 도움이 되었다. 이 문제는 크게 3가지 방법으로 문제를 풀어보고자 노력하였다. 첫 번째로 시도한 방법은 원자가 충돌하는 경우를 구해서 그때의 에너지들을 모두 더하는 방식으로 구현하였다. 원자..