본문 바로가기

프로그래머스99

[프로그래머스]2019 카카오 개발자 겨울 인턴십 : 징검다리 건너기 (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 이분탐색 #include #include #include using namespace std; const int MAX = 200000000; bool check(vector &stones, int k, int passed) { // 왼쪽 땅부터 시작 int last_idx = -1; for (int i = 0; i = 0) { // 마지막 디딤돌간의 간격이 k.. 2020. 7. 10.
[프로그래머스]연습문제 : N-Queen (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/12952 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 백트랙킹 #include #include using namespace std; int cnt; void n_queen(vector &vrtc, vector &dgnl_1, vector& dgnl_2, int n, int y) { // n퀸의 위치를 완성했을 때 if (y == n) { ++cnt; return; } for (int x = 0; x .. 2020. 7. 10.
[프로그래머스]연습문제 : 최고의 집합 (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족 programmers.co.kr #include #include using namespace std; vector solution(int n, int s) { // n개의 자연수로 s를 만들 수 없는 경우 if (n > s) { return { -1 }; } // 초기에 n개의 자연수는 각각 (s / n)의 값을 가짐 int qe = s / n; vector answer.. 2020. 7. 10.
[프로그래머스]연습문제 : 줄 서는 방법 (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/12936 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람 programmers.co.kr #include #include using namespace std; long long make_factorial(vector& fact, long long num) { if (num 0) { return fact[num]; } return fact[num] = make_factoria.. 2020. 7. 10.