본문 바로가기

코딩테스트 준비105

[백준/BOJ][C++] 9095번 1, 2, 3 더하기 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int Combine(int n, int k) { // 조합을 계산 int x = 1; // 분자 int y = 1; // 분모 for (int i = 1; i > T; vector output(T); for (int p = 0; p > n; int count = 0; // 1. 1로만 표현 -> 1가지 count++; // 2. 2로만 표현 -> n/2 가지 방법 for (int i = 1; i 2의 갯수 i개, 1의 갯수 k개 ->.. 2023. 8. 14.
[백준/BOJ][C++] 13909번 창문 닫기 #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; int count = 0; // 약수의 갯수 -> 짝수 : 0, 홀수 : 1 // 제곱수의 약수의 갯수 -> 홀수 -> 제곱수의 갯수 = 열린 창문의 갯수 for (int i = 1; i 2023. 8. 12.
[백준/BOJ][C++] 17103번 골드바흐 파티션 #include #include #include #include #include #include #include #include #include #include #include using namespace std; void FindPrimeNumber(int maxVal, vector& primeNumbersCheck) { // 에라토스테네스의 체 공식 // -> 각 소수들의 배수를 지워나가며 찾는 방식 for (int i = 2; i T; vector primeNumbersCheck(2); // 0과 1은 false로 초기화 vector input; int maxVal = 0; for (int i = 0; i > N; maxVal = max(maxVal, N).. 2023. 8. 12.
[백준 4948번][C++] 베르트랑 공준 #include #include #include #include #include #include #include #include #include #include #include using namespace std; enum State { Null, NotPrime, Prime }; bool PrimeNumberCheck(int n, map& primeNumbers) { if (primeNumbers[n] == Null) { // n값에 처음 접근한 경우 for (int i = 2; i 소수가 아님 if (n % i == 0) { primeNumbers[n] = NotPrime; return false; } } // 어떤 수로도 나누어 떨어지지 않는 경우 -> 소수임 primeNumbers[n] = Pri.. 2023. 8. 10.
[백준 4134번][C++] 다음 소수 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); long T; cin >> T; vector outputNumber; // 출력할 숫자들 for (long i = 0; i > n; // 0과 1은 소수가 아님 if (n == 0 || n == 1) { outputNumber.pu.. 2023. 8. 8.
[프로그래머스][C++] 정수 삼각형 #include #include using namespace std; int solution(vector triangle) { int answer = 0; for (int i = triangle.size() - 1; i > 0; i--) { for (int j = 0; j < triangle[i].size() - 1; j++) { // 하위 두개의 원소 중 큰 원소를 윗단 원소에 더해줌 int left = triangle[i][j]; int right = triangle[i][j + 1]; triangle[i - 1][j] += max(left, right); } } answer = triangle[0][0]; // root 노드의 값이 최대값이 됨 return answer; } 1. 삼각형의 가장 밑의.. 2023. 8. 8.
[백준 2485번][C++] 가로수 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int gcd(int big, int small) { int r = big % small; if (r == 0) return small; else return gcd(small, r); } int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; vector v(N); for (int i = 0; i .. 2023. 8. 7.
[백준 1463번][C++] 1로 만들기 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; vector dp(N + 1); // 2 -> 1 => 1 // 3 -> 1 => 1 // 4 -> 2 or 4 -> 3 => 1 + dp(2) or 1 + dp(3) // 5 -> 4 => 1 + dp(4) // 6 -> 3 or 6 -> 2 .. 2023. 8. 7.
[백준 1735번][C++] 분수 합 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int gcd(int big, int small) { // 유클리드 호제법 int r = big % small; // 나머지 if (big % small == 0) return small; else return gcd(small, r); } int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int A, B, C, D; cin.. 2023. 8. 7.
[백준 13241번][C++] 최소공배수 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); long long int A, B; cin >> A >> B; long long small = A > B ? B : A; long long big = A == small ? B : A; long long k = 1; long long minVal = small; // 최소 공.. 2023. 8. 7.
[백준 1934번][C++] 최소공배수 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int T; cin >> T; vector v; for (int i = 0; i > A >> B; int small = A > B ? B : A; int big = A == small ? B : A; int k = 1; int .. 2023. 8. 6.
[백준 11478번][C++] 서로 다른 부분 문자열의 개수 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); string s; cin >> s; set subWord; for (int i = 1; i 2023. 8. 5.