분류 전체보기 (435) 썸네일형 리스트형 백준 13076번 [Distinct rational numbers](C++)-yes6686- 티스토리 백준 문제 풀이: 13076 [Distinct rational numbers]문제 링크: https://www.acmicpc.net/problem/13076문제 설명:주어진 정수 배열에 대해 다음과 같은 연산을 효율적으로 수행하는 문제입니다:1 x y: 배열의 x번째 값을 y로 변경2 x y: 배열의 x번째 값부터 y번째 값까지의 곱을 구한 후, 해당 값을 1,000,000,007로 나눈 나머지를 출력여기서 효율적인 계산을 위해 세그먼트 트리를 사용합니다. 세그먼트 트리는 구간 곱을 빠르게 계산할 수 있으며, 값을 업데이트하는 데도 유용합니다.또한, 모듈러 연산을 통해 큰 정수 값이 발생하는 것을 방지합니다. 이를 통해 오버플로우를 방지하고 계산을 최적화합니다.문제 해결 코드#include #includ.. 백준 19577번 [수학은 재밌어](C++)-yes6686- 티스토리 백준 문제 풀이: 19577 [수학은 재밌어]문제 링크: https://www.acmicpc.net/problem/19577문제 설명:양의 정수 n이 주어질 때, n의 약수 중 오일러 파이 함수 결과와의 곱이 다시 n이 되는 가장 작은 양의 정수를 출력하는 문제입니다. 만약 조건을 만족하는 값이 없다면 -1을 출력합니다.문제 해결 코드#include #include using namespace std;sets;setx;int euler(int n) { int ans = n; for (int i = 2; i * i 1) { ans /= n; s.insert(n); } set::iterator iter; for (iter = s.begin(); iter .. 백준 4355번 [서로소](C++)-yes6686- 티스토리 백준 문제 풀이: 4355 [서로소]문제 링크: https://www.acmicpc.net/problem/4355문제 설명:양의 정수 n이 주어졌을 때, n과 서로소인 n 이하의 양의 정수의 개수를 구하는 문제입니다. 서로소는 두 수의 최대공약수가 1인 관계를 의미합니다. n이 0이면 프로그램을 종료하며, n이 1일 때는 결과가 0입니다.문제 해결 코드#include #include using namespace std;sets;int main() { ios::sync_with_stdio(false); cin.tie(NULL); while (1) { int n; cin >> n; if (n == 0) break; if (n == 1) { .. 백준 11689번 [GCD(n, k) = 1](C++)-yes6686- 티스토리 백준 문제 풀이: 11689 [GCD(n, k) = 1]문제 링크: https://www.acmicpc.net/problem/11689문제 설명:양의 정수 n이 주어졌을 때, 1부터 n까지의 정수 중 n과 서로소인 정수의 개수를 구하는 문제입니다. 서로소는 두 수의 최대공약수(GCD)가 1인 관계를 의미합니다. 이를 구하기 위해 오일러 파이 함수(φ)를 활용합니다.문제 해결 코드#include #include using namespace std;sets;int main() { ios::sync_with_stdio(false); cin.tie(NULL); long long int n; cin >> n; long long int ans = n; for (long long in.. 백준 10816번 [숫자 카드 2](C++)-yes6686- 티스토리 백준 문제 풀이: 10816 [숫자 카드 2]문제 링크: https://www.acmicpc.net/problem/10816문제 설명:숫자 카드가 여러 개 주어졌을 때, 각 숫자 카드가 몇 개 있는지 구하는 문제입니다. 입력으로 주어지는 숫자 범위는 -10,000,000부터 10,000,000까지입니다. 이를 효과적으로 처리하기 위해 정수 범위를 배열로 매핑하여 카운트를 저장합니다.문제 해결 코드#include using namespace std;int d[20000001];int arr[500001];int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n; for (int i = 0; i.. 백준 10814번 [나이순 정렬](C++)-yes6686- 티스토리 백준 문제 풀이: 10814 [나이순 정렬]문제 링크: https://www.acmicpc.net/problem/10814문제 설명:회원들의 나이와 이름이 주어질 때, 나이가 증가하는 순서대로 정렬하는 문제입니다. 나이가 같을 경우, 입력된 순서를 유지해야 합니다. 이를 위해 **안정 정렬(stable sort)**을 사용해야 합니다.문제 해결 코드#include #include #include using namespace std;vector>v;bool compare(pair a, pair b) { return a.first > n; int a; string b; for (int i = 0; i > a >> b; v.push_back(make_pair(a, b)); .. 백준 10773번 [제로](C++)-yes6686- 티스토리 백준 문제 풀이: 10773 [제로]문제 링크: https://www.acmicpc.net/problem/10773문제 설명:주어진 입력에 따라 숫자를 스택에 추가하거나 제거하는 작업을 수행합니다. 숫자 0이 입력되면, 가장 최근에 추가된 숫자를 제거합니다. 최종적으로 스택에 남아 있는 숫자의 합을 출력하는 문제입니다.문제 해결 코드#include #include using namespace std;int main() { vector v; int n, x; cin >> n; for (int i = 0; i > x; if (x == 0) { v.pop_back(); } else { v.push_back(x); .. 백준 9012번 [괄호](C++)-yes6686- 티스토리 백준 문제 풀이: 9012 [괄호]문제 링크: https://www.acmicpc.net/problem/9012문제 설명:주어진 문자열이 올바른 괄호 문자열(Valid Parenthesis String, VPS)인지 판단하는 문제입니다. 문자열은 '('와 ')'로만 구성되며, 다음 조건을 만족해야 올바른 괄호 문자열로 간주됩니다:왼쪽 괄호 '('의 개수와 오른쪽 괄호 ')'의 개수가 같아야 합니다.왼쪽 괄호가 오른쪽 괄호보다 먼저 등장해야 합니다.문제 해결 코드#include using namespace std;int main() { int T; cin >> T; string s; int cnt = 0; while (T--) { cin >> s; for.. 이전 1 ··· 42 43 44 45 46 47 48 ··· 55 다음