일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2019 KAKAO BLIND
- 코드 리뷰
- 그리디
- BFS
- 코드리뷰
- Level 3
- 구현
- SWEA
- next_permutation
- 프로그래머스
- Level 2
- Level 4
- Gold 5
- 브루트포스
- 백준
- 스택/큐
- c++
- 월간 코드 챌린지
- 2020 KAKAO BLIND
- DP
- DFS
- 시뮬레이션
- pass
- 삼성 SW 역량 테스트
- Gold 4
- 백트래킹
- level 1
- 2020 카카오 인턴십
- 부스트코스
- Web
- Today
- Total
목록전체 글 (83)
Min:D's Devlog
문제 프로그래머스 이분탐색 - 입국심사 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 � programmers.co.kr 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 ..
문제 SWEA 모의 SW 역량테스트 - 4008 숫자 만들기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 접근 방식 연산자의 순서를 조합하여 연산의 최댓값과 최소값을 구하고, 그 값들의 차를 구하는 문제이다. 조합을 만들기 위해 next_permutation을 사용해 주었다. 그리고 연산자를 입력 받을 때 +는 0, -는 1, ×는 2, ÷는 3으로 저장하고, switch문을 사용하여 연산을 해주었다. 풀이 코드 - C++ #include #include #include using namespace std; int main(int argc, char** argv) { int test_case; i..
문제 SWEA 모의 SW 역량 테스트 - 4014 활주로 건설 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 접근 방식 설치 가능한 경사로를 찾기 위해 가로 방향과 세로 방향으로 각각 탐색해주어야 한다. 그래서 편의를 위해 map 벡터를 2N×N 크기로 만들어서 가로 방향과 세로 방향으로 넣어주었다. 이렇게 하면 나중에 이중 for문을 두번 돌리지 않아도 된다. vector map(N * 2, vector(N)); for (int i = 0; i > map[i][j]; map[j + N][i] = map[i][j];..
문제 SWAE 모의 SW 역량테스트 - 4013 특이한 자석 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 접근 방식 이 문제를 풀기 위해 회전시켜야 할 자석을 찾는 find 함수와 자석을 회전시켜줄 move 함수를 만들어주었다. find 함수는 다음과 같이 재귀 함수로 구현하였다. void find(int num, int dir) { visit[num] = 1; nums.push_back(num); dirs.push_back(dir); if (num - 1 >= 0 && !visit[num - 1] && magnet[num - 1][2] != magnet[num][6]) find(num - 1, ..
문제 프로그래머스 완전탐색 - 소수 찾기 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 � programmers.co.kr 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으..
문제 SWEA 모의 SW 역량테스트 - 4012 요리사 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 접근 방식 이 문제는 N(짝수) 개의 식재료를 반으로 나눠 두 개의 요리를 할 때, 두 요리의 총 시너지의 차가 최소가 되도록 조합하는 문제이다. 조합을 간단하게 구현하기 위해 next_permutation을 사용해주었다. next_permutation에 인자로 넣을 벡터 idx는 N개의 0으로 초기화하고, N/2개의 1을 뒤쪽부터 넣어주었다.(정렬할 필요가 없도록!) do ~ while문 내에서는 0인 경우와 1인 경우로 나눠서 인덱스를 벡터에 저장하고, 그 인덱스들의 조합을 통해 각 요리의 총 ..
문제 프로그래머스 DFS/BFS - 단어 변환 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 hit, target가 cog, words가 [ho..
문제 프로그래머스 그리디 - 큰 수 만들기 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상..
문제 프로그래머스 그리디 - 조이스틱 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어..
문제 프로그래머스 그래프 - 가장 먼 노드 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항 노드의 개수 n은 2 이상..