-
[C++] 백준 1911번 | 흙길 보수하기Algorithm/Baekjoon 2023. 4. 6. 16:41
흙길 보수하기 1911번: 흙길 보수하기 어젯밤 겨울 캠프 장소에서 월드 본원까지 이어지는, 흙으로 된 비밀길 위에 폭우가 내려서 N (1 N >> L; for (int i = 0; i > start >> end; pool.push_back({start, end}); } sort(pool.begin(), pool.end()); int cnt = 0; int idx = 0; for (int i = 0; i = pool[i].second) continue; if (start < idx) start = ..
-
[C++] 백준 14888번 | 연산자 끼워넣기Algorithm/Baekjoon 2023. 3. 30. 22:55
연산자 끼워넣기 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net ✅ Accept Code // baekjoon 14888 #include using namespace std; int N; int nums[11]; int op[4]; int maxAns = INT_MIN; int minAns = INT_MAX; void solution(int result, int idx) { if (idx == N) { maxAns = max(maxAns, result); ..
-
[C++] Programmers | 숫자 카드 나누기Algorithm/Programmers 2023. 3. 4. 00:52
숫자 카드 나누기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 이 문제는 N개의 최소공배수 문제와 조금 비슷한 문제였다. [C++] Programmers | N개의 최소공배수 N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. progr suddiyo.tistory.com A배열, B배열의 최대공약수인 A_GCD, B_GCD를 각각 구해준다 (유클리드 호제법 이용) A배열을 순회하며 B_GCD로 나누어 떨어지는 ..
-
[C++] Programmers | 미로 탈출Algorithm/Programmers 2023. 3. 2. 23:24
미로 탈출 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 문제의 미로를 탈출하려면 크게 두 가지 단계를 거쳐야 한다. 시작 지점에서 레버가 있는 곳까지 간다. 레버가 있는 곳에서 출구까지 간다. 미로를 탈출하는데 필요한 '최소 시간'을 구해야 하므로 BFS(너비 우선 탐색) 알고리즘을 사용하였다. ⭐️ 이 문제에서 주의할 점은, 레버를 당기지 않으면 출구가 열리지 않기 때문에 두 단계에서 각각 BFS를 돌리고 둘 중 하나라도 만족하지 못 하면 -1을 return 해야한다. ✅ Accept Code // programmers week6-3 // ..
-
[C++] Programmers | N개의 최소공배수Algorithm/Programmers 2023. 3. 2. 16:05
N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 이 문제는 벡터의 원소들을 순회하며 차곡차곡 최소공배수를 구해 나가면 되는 아주 간단한 문제였다. 두 수 A, B의 최소공배수는 A * B / (A, B의 최대공약수) 라는 관계가 성립하기 때문에 우선 A, B의 최대공약수를 구한 후, 식에 대입하여 최소공배수를 구하였다. 💡 유클리드 호제법 나는 최대공약수를 대표적인 알고리즘인 유클리드 호제법을 사용하였다. 호제법이란, 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘이다. a를 b로 나누어 나머지인 b'을 구하..
-
[C++] Programmers | JadenCase 문자열 만들기Algorithm/Programmers 2023. 3. 2. 16:04
JadenCase 문자열 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 문자열을 순회하며 조건에 맞게 문자를 대치해주면 되는 아주 간단한 문제였다. 대문자와 소문자를 서로 바꿔줄 때 아스키 코드를 이용하여 문제를 해결하였는데, 구글링 해보니 toupper(), tolower() method를 사용하여 더 깔끔하게 풀 수 있다. (공백과 숫자에 메서드를 적용해도 문제 없다고 한다) ✅ Accept Code // programmers week6-1 // JadenCase 문자열 만들기 #include using namespace std; s..
-
[C++] Programmers study week #6Algorithm/Programmers 2023. 3. 2. 16:01
JadenCase 문자열 만들기 [C++] Programmers | JadenCase 문자열 만들기 JadenCase 문자열 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. suddiyo.tistory.com N개의 최소공배수 [C++] Programmers | N개의 최소공배수 N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. progr suddiyo.tistory.com 미로 탈출 [C++] Programmers | 미로 탈출 미로 탈출 프로그래..
-
[C++] Programmers | N-QueenAlgorithm/Programmers 2023. 3. 1. 02:12
N-Queen 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 Backtracking N-Queen 문제는 백트래킹의 대표적인 예제이다. 풀이에 앞서 백트래킹의 개념에 대해 간단히 알아보자! 백트래킹 (Backtracking) : 백트래킹이란 현재 상태에서 가능한 모든 경로를 따라 들어가 탐색하다 원하는 값과 불일치하는 부분이 발생하면 더 이상 탐색을 진행하지 않고 전 단계로 돌아가는, 이름 그대로 방금 왔던 길을 되짚어가는 알고리즘이다. ✍🏻 풀이 해당 문제의 조건을 만족시키기 위해서는 1) 한 행 2) 한 열 3) 한 대각선 에 단 하나의 퀸만을 배..