코딩 테스트 (74) 썸네일형 리스트형 백준 11004 #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n, k; cin >> n >> k; vector nums; for (int i = 0; i > num; nums.push_back(num); } sort(nums.begin(), nums.end()); cout 백준 네번째점 #include using namespace std;struct Point{ long double x, y; Point() = default; Point(float X, float Y) : x(X), y(Y) { } Point operator+ (const Point& other) const { return Point(x + other.x, y + other.y); } Point operator- (const Point& other) const { return Point(x - other.x, y - other.y); } bool operator== (const Point& other) const { return x == other.x && y == other.y; } bool operator> q.. 백준 회전하는 큐 #include #include #include #include using namespace std;int main(void){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; int cnt = 0; cin >> n >> m; deque de; for (int i = 0; i > num; for (int j = 0; j 귤 고르기 문제를 해매는 가장 큰 이유 : 매번 비슷한데 갯수를 따로 한 번 더 저장을 하면 되는데 이 방식을 기억을 못함.,..그리고 100000 연산이라고 할 때 이 연산을 2번 3번 해도 O(N) 인건데 이걸 계속 까먹으니 sort 를 쓰기 무서워함... #include #include #include #include using namespace std;bool Compare(int a, int b){ return a > b;}int solution(int k, vector tangerine) { int answer = 0; vector food; map food1; for(int i = 0; i a : food1) { food.push_back(a.seco.. 프로그래머스 타겟 넘버 Dfs 사용 시 for 문 안씀 생각. for 문을 쓴다면 모든 경우를 확인할 경우 #include #include #include using namespace std; vector num; vector visited; int tarNum; int DfsSum(int index, int sum) { int ans = 0; if(index == num.size()) { if(sum == tarNum) { return 1; } return 0; } ans += DfsSum(index + 1, sum + num[index]); ans += DfsSum(index + 1, sum - num[index]); return ans; } int solution(vector numbers, int target) { in.. 프로그래머스 피로도 탐색에서 다시 돌아온다면 방문을 다시 false 로 만들어주자. 탐색 재귀 시에 그냥 인덱스 쪽에 + 1 만 해주면 되는 경우를 항상 생각하자. 던전의 방문 최대 횟수는 던전의 총 갯수 일 것이기 때문이다. 방문 불가 시 어짜피 다음 던전으로 이동한다. 또 k 의 값을 함수 내에서 변화를 주지 말자. 함수 구현부에서 변화를 주면 해당 반복문 동안 k의 값이 변해있어 문제 풀이가 어렵다. 아래 구문처럼 k를 매개변수로 넣을 때 - 해주자. 그럼 for 문에서 의 k 값에는 변화가 없지만 Dfs 에 재귀 되어질 k 값은 변화가 있다. #include #include using namespace std; vector inDun; vector visited = vector(8, false); int answer.. 프로그래머스 1차 비밀지도 #include #include #include using namespace std; vector solution(int n, vector arr1, vector arr2) { vector answer(n); vector translate(n); vector translate2(n); for(int i = 0; i0) { int n = arr1[i] % 2; translate[i] += n + '0'; arr1[i] /= 2; } while(translate[i].length() < n) { translate[i] += '0'; } reverse(translate[i].begin(),translate[i].end()); while(arr2[.. 프로그래머스 k진수에서 소수 개수 구하기 #include #include #include #include using namespace std; bool OkPrimeNum(long long num) { if(num 이전 1 2 3 4 5 6 7 8 ··· 10 다음