본문 바로가기
반응형

PS 문제 풀이/Baekjoon446

[BOJ] 백준 2670 연속부분최대곱 출처: https://www.acmicpc.net/problem/2670 Input 8 1.1 0.7 1.3 0.9 1.4 0.8 0.7 1.4 Output 1.638 ① N > N; for (int i = 0; i > arr[i]; for (int i = 0; i < N; i++){ sum = 1; for (int j = i; j < N; j++){ sum *= arr[j]; answer = answer.. 2021. 2. 28.
[BOJ] 백준 2470 두 용액 출처: https://www.acmicpc.net/problem/2470 Input 5 -2 4 -99 -1 98 Output -99 98 ※ 같은 문제 다른 풀이: [Jungol] 2306 두 용액 [Jungol] 정올 2306 두 용액 출처: [Jungol] 2306 두 용액 Input 5 -2 4 -99 -1 98 Output -99 98 같은 문제 다른 풀이: [BOJ] 2470 두 용액 ① 실제로 채점되는 Input Data는 정렬되어 있지 않기 때문에 주어진 숫자 정렬 ex) {-2 4 -99.. zoosso.tistory.com 가장 가까운 두 수의 합이 0에 가장 가까운 두 수를 구하는 것입니다. * 양수만 주어지거나 음수만 주어질 수도 있다 부호를 고려하지 않기 위해 절대값 기준으로 숫자.. 2021. 2. 28.
[BOJ] 백준 10986 나머지 합 출처: https://www.acmicpc.net/problem/10986 Input 5 3 1 2 3 1 2 Output 7 부분합 psum을 이용해서 특정 구간합을 비교적 빠르게 구할 수 있지만, 이 문제의 경우 그렇게 하더라도 M으로 나누어 떨어지는 구간을 확인하기에는 TLE 발생 #include typedef long long LL; const int MAX_N = 1e6; LL psum[MAX_N + 10]; int ans; int main(void) { // freopen("input.txt", "r", stdin); int N, M, num; scanf("%d %d", &N, &M); for (int i = 1; i 2021. 2. 28.
[BOJ] 백준 5397 키로거 출처: https://www.acmicpc.net/problem/5397 Input 2 2021. 2. 28.
[BOJ] 백준 2161 카드 1 출처: https://www.acmicpc.net/problem/2161 Input 7 Output 1 3 5 7 4 2 6 - 카드를 버릴 때는 별도로 저장하지 않고 바로 출력합니다. - 밑으로 옮기는 경우에는 Queue 구조 이용. [C++] [STL] Queue [C++] [STL] Queue Queue 기본 연산 - FIFO 구조 (First In First Out) - push(element) : 큐 (뒤에) 원소 추가 - pop() : 큐에 (앞쪽에) 있는 원소 삭제 - front() : 큐 제일 앞에 있는 원소 반환 - back() : 큐 제일 뒤에 있는.. zoosso.tistory.com #include #include using namespace std; #define endl "\n".. 2021. 2. 28.
[BOJ] 백준 2980 도로와 신호등 출처: https://www.acmicpc.net/problem/2980 Input 2 10 3 5 5 5 2 2 Output 12 도로를 지나가면서 신호 상황에 따라 기다리거나 통과하면서 몇 초의 시간이 걸리는지 구하는 문제입니다. - 빨간불인 경우, 기다려야 한다. - 초록불인 경우, 그냥 지나 갈 수 있다. 각 신호등에 도착했을 때, 빨간불인지 초록불인지 상태를 알 수 있어야 합니다. 신호등은 빨간불 + 초록불 = 1 cycle을 가집니다. ex) 빨간불 3초, 초록불 1초인 신호등일 때, 10초일 때 상태는 → 1 cycle = 4초 → 10 % 4 = 2 ≤ 3 →빨간 불 + if) 11초인 경우 11 % 4 = 3 ≤ 3 이지만 신호가 빨간불에서 초록불로 바뀌는 시점으로 초록불로 간주. Tes.. 2021. 2. 28.
[BOJ] 백준 10953 A + B - 6 출처: www.acmicpc.net/problem/10953 Input 5 1,1 2,3 3,4 9,8 5,2 Output 2 5 7 17 7 콤마(,)를 처리하기 위해서 아래와 같이 scanf 처리 scanf("%d,%d", &a, &b); C++ 기본 입출력 [C++] 기본 입출력 기본 입출력 숫자 a, b를 입력받아 a + b를 출력하는 ※ [BOJ] 10950 A + B - 3 #include #include using namespace std; int main(){ int TestCase; cin >> TestCase; while(TestCase--){ int a, b; cin>>.. zoosso.tistory.com #include #include using namespace std; int .. 2021. 2. 28.
[BOJ] 백준 1100 하얀칸 출처: www.acmicpc.net/problem/1100 Input .F.F...F F...F.F. ...F.F.F F.F...F. .F...F.. F...F.F. .F.F.F.F ..FF..F. Output 1 N × N 크기의 경우 char[N][N+1]로 선언해서 null 값을 고려해줍니다. 각 행의 문자열을 scanf("%s", map[i]);로 받을 수 있습니다. C++ 기본 입출력 [C++] 기본 입출력 기본 입출력 숫자 a, b를 입력받아 a + b를 출력하는 ※ [BOJ] 10950 A + B - 3 #include #include using namespace std; int main(){ int TestCase; cin >> TestCase; while(TestCase--){ int a.. 2021. 2. 28.
[BOJ] 백준 10950 A + B - 3 출처: www.acmicpc.net/problem/10950 Input 5 1 1 2 3 3 4 9 8 5 2 Output 2 5 7 17 7 C++ 기본 입출력 [C++] 기본 입출력 기본 입출력 숫자 a, b를 입력받아 a + b를 출력하는 ※ [BOJ] 10950 A + B - 3 #include #include using namespace std; int main(){ int TestCase; cin >> TestCase; while(TestCase--){ int a, b; cin>>.. zoosso.tistory.com #include #include using namespace std; int main(){ int TestCase; cin>>TestCase; while(TestCase--){ .. 2021. 2. 28.
[BOJ] 백준 2261 가장 가까운 두 점 출처: https://www.acmicpc.net/problem/2261 Input 4 0 0 10 10 0 10 10 0 Output 100 Brute Force로 모든 점의 거리를 구한 후, 최소 거리를 구하면 → O(N2)으로 TLE 발생 분할 정복 기법을 사용해 → O(N (logN)2) ① 모든 점을 x 좌표 기준 정렬 후, ② 중간 지점을 기준으로 두 개로 분할해서 x 구간거리가 일정 수준까지 작아지도록 재귀적으로 분할. ③ merge될 때, 좌측, 우측 부분에서 각각 가장 가까운 두 점 사이의 거리를 구합니다. 좌측, 우측에서 구한 거리 중 더 작은 값을 구합니다. 해당 값이 중간 기준위치를 지나는 왼쪽 점과 오른쪽 점 사이의 거리를 비교합니다. ex) min(d1, d2) = d를 구한 후.. 2021. 2. 28.
반응형