일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스택/큐
- DP
- 부스트코스
- SWEA
- DFS
- BFS
- 2020 카카오 인턴십
- 2020 KAKAO BLIND
- 그리디
- Gold 4
- 삼성 SW 역량 테스트
- pass
- Level 3
- 백트래킹
- 브루트포스
- Level 2
- 백준
- 월간 코드 챌린지
- Web
- 프로그래머스
- 코드 리뷰
- next_permutation
- 구현
- 2019 KAKAO BLIND
- 코드리뷰
- 시뮬레이션
- Gold 5
- Level 4
- c++
- level 1
- Today
- Total
목록c++ (78)
Min:D's Devlog

문제 백준 삼성 SW 역량 테스트 기출 문제 - 15684 사다리 조작 (Gold 5) 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 문제 풀이 접근 방식 사다리에 가로선을 추가하여 i번 세로선의 결과가 i번이 나오도록 조작할 때, 추가해야 하는 가로선 개수의 최솟값을 구하는 문제이다. 우선 H×N 크기의 map 벡터를 만들어 사다리의 가로선들을 저장해주었다. 가로선의 왼쪽 부분과 오른쪽 부분을 구분해주어야 하기 때문에, 왼쪽 부분은 1, 오른쪽 부분은 -1로 저장하였다. 그 후, DFS 방식으로 탐색하여 ..

문제 백준 삼성 SW 역량 테스트 기출 문제 - 15683 감시 (Gold 5) 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 문제 풀이 접근 방식 이 문제는 CCTV의 방향을 적절히 정해서, 사각 지대의 최소 크기를 구하는 문제이다. CCTV는 아래와 같이 번호에 따라 감시하는 방향이 다르다. 어느 방향으로 CCTV를 설치했을 때 사각 지대가 최소가 되는 지 구하는 문제이기 때문에, DFS 함수를 만들어 모든 CCTV의 설치 방향(4방향)에 따른 사각 지대의 크기를 구해주었다. DFS 함수에서..

문제 프로그래머스 DFS/BFS - 타겟 넘버 (Level 2) 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 풀이 접근 방식 주어진 배열의 숫자들을 더하거나 빼서 타겟 넘버를 만드는 방법의 수를 구하는 문제이다.이 문제는 BFS 방식으로 해결해주었다. 우선, 결괏값을 저장할 배열인 answer_list에 0을 넣어주었고,그 배열의 값에 numbers[i]를 더한 값과 뺀 값을 temp에 넣어주었다.temp에 저장된 결괏값들은 answer_list에..

문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT - 길 찾기 게임 (Level 3) 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 문제 풀이 접근 방식 이 문제는 2019 카카오 블라인드 공채 1차 코딩테스트 5번 문제로, 이진 트리를 만들어 전위 순회와 후위 순회를 수행하는 문제이다. 이진 트리를 만들기 위해 Node 구조체를 만들어 x, y, index, 왼쪽 노드, 오른쪽 노드를 저장할 수 있도록 하였고, 주어진 nodeinfo에 인덱스를 추가한 후, y값 기준 내림차순, x값 기준..

문제 프로그래머스 월간 코드 챌린지 시즌 1 - 풍선 터트리기 (Level 3) 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 문제 풀이 접근 방식 이 문제는 프로그래머스 월간 코드 챌린지 시즌 1 3번 문제로, 아래의 규칙대로 풍선을 1개만 남을 때까지 터트렸을 때, 최후까지 남기는 것이 가능한 풍선의 개수를 구하는 문제이다. 한 풍선의 양 옆의 풍선들을 숫자가 큰 풍선 먼저 터트려 하나씩만 남기면, 양 옆에는 각각 가장 작은 번호의 풍선만 남게 된다. 그 상태에서 기준이 되는 풍선과 양 옆의 풍선의 숫자를 비교하여 기준이 되는 풍선의 숫자보다 더 큰 값이 하나라도 존재한다면, 번호가 더 작은 풍선을 터트리는 행..

문제 프로그래머스 월간 코드 챌린지 시즌 1 - 삼각 달팽이 (Level 2) 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 문제 풀이 접근 방식 이 문제는 프로그래머스 월간 코드 챌린지 시즌 1 2번 문제로, 아래의 그림과 같이 삼각형의 맨 위 꼭짓점부터 반시계 방향으로 숫자를 채워서, 첫 행부터 마지막 행까지 합친 새로운 배열을 구하는 문제이다. 우선 n×n 크기의 result 벡터를 만들어 모든 값을 -1로 할당해주었다. 이후 ↓ - → - ↖방향으로 이동하며 숫자를 채워주었다. 숫자를 채우는 과정은 방향을 ..

문제 프로그래머스 월간 코드 챌린지 시즌 1 - 두 개 뽑아서 더하기 (Level 1) 코딩테스트 연습 - 두 개 뽑아서 더하기 programmers.co.kr 문제 풀이 접근 방식 이 문제는 프로그래머스에서 9월 10일에 진행된 월간 코드 챌린지 시즌 1의 1번 문제이다. 주어진 숫자 배열에서 두 수를 뽑아 더해서 만들 수 있는 모든 수를 오름차순으로 리턴해야 하는 문제였다. 2중 for문으로 두 수를 더하고 중복을 제거하여 정렬하면 되는 간단한 문제였다. 그래서 unordered_map을 사용하여 중복된 값을 제거해주었고, sort를 사용해서 오름차순으로 정렬하여 답을 구하였다. 이 외에도 set을 사용하여 중복 제거와 정렬을 수행하거나, unique와 erase, sort를 사용하여 중복 제거와 정..

문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 기둥과 보 설치 (Level 3) 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 공채 1차 코딩테스트..

문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 자물쇠와 열쇠 (Level 3) 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 공채 1차 코딩테스트 3번 문제로, 주어진 열쇠로 자물쇠를 열 수 있는지를 판단하는 문제였다. 열쇠 영역의 일부분이 자물쇠 영역을 벗어나는 것이 가능하다. 그렇기 때문에 자물쇠 영역을 (M - 1) × 2 + N의 크기로 만들고, (M-1, M-1)에서부터 자물쇠의 값을 복사하여 열쇠를 가능한 모든 방법으로 맞춰볼 수 있도록 하였다. (M은 열쇠 영역..

문제 프로그래머스 2020 카카오 인턴십 - 키패드 누르기 (Level 1) 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 풀이 접근 방식 각 번호를 누른 손이 왼손인지 오른손인지 판단하는 문제이다. 이 문제는 주어진대로 단순 구현만 하면 되는 간단한 문제였다. 우선, 처음 시작이 *과 #에서 시작하기 때문에 처음 시작은 각각 10, 12로 설정해주었다. (*은 10, 0은 11, #은 12로..