분류 전체보기 73

[백준] 9063번: 대지 | C++ 풀이

# 문제 임씨의 이름이 새겨진 옥구슬의 위치 N 개가 주어질 때에, 임씨에게 돌아갈 대지의 넓이를 계산하는 프로그램을 작성하시오. 단, 옥구슬의 위치는 2 차원 정수 좌표로 주어지고 옥구슬은 같은 위치에 여러 개가 발견될 수도 있으며, x 축의 양의방향을 동쪽, y 축의 양의방향을 북쪽이라고 가정한다. # 풀이 답을 찾는 방법은 간단하다. 대소 비교를 통해 좌표를 찾아주면 되는데 방법은 여러가지다. 우선 정답 소스코드부터 확인해보자. #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 int n; cin >> n; // 배열 동적할당 int* x = new int[n]; i..

백준/C++ 2023.06.13

[백준] 1085번: 직사각형에서 탈출 | C++ 풀이

# 문제 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. # 풀이 제한을 잘 확인해보면 어렵지 않은 문제다. 바로 정답 소스코드 확인! #include #include using namespace std; int main(){ int x, y, w, h; cin >> x >> y >> w >> h; int xAxis = min(x, w-x); int yAxis = min(y, h-y); cout

백준/C++ 2023.06.12

[백준] 2581번: 소수 | C++ 풀이

# 문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. # 풀이 지난 번에 풀이한 소수 코드를 잘 풀었다면 금방 해결할 수 있는 문제다.바로 정답 소스코드를 확인해보자. #include #include using namespace std; int main(){ vector prime; int primeSum = 0; bool primeCnt = 0; int m, n; cin >> m >> n; for(int i=m; i

백준/C++ 2023.06.10

[백준] 1978번: 소수 찾기 | C++ 풀이

# 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. # 풀이 이번에도 어렵지 않은 문제! 바로 정답 소스코드를 확인해보자. #include using namespace std; int main(){ int cnt = 0; int n, num; cin >> n; while(n--){ cin >> num; bool prime = 1; if(num == 1) continue; for(int i = num-1; i>1; i--){ if(num%i == 0){ prime = 0; break; } } if(prime) cnt++; } cout

백준/C++ 2023.06.09

[백준] 9506번: 약수들의 합 | C++ 풀이

# 문제 n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. # 풀이 크게 어렵지 않은 문제다. 문제에서 요구하는 대로 차근차근 진행해보자. 바로 정답 소스코드 확인! #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 cin.tie(NULL);// 입력과 출력 묶음을 풀기 int n = 0; while(1){ cin >> n; if(n == -1) break; vector factor; int perfect = 0; for(int i=1; i

백준/C++ 2023.06.08

[백준] 5086번: 배수와 약수 | C++ 풀이

# 문제 두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오. # 풀이 규칙찾기의 일반 수학 1을 넘어 약수와 배수, 소수 파트로 넘어왔다. 간단한 문제이니 바로 정답 소스코드를 확인해보자. #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 cin.tie(NULL); // 입력과 출력 묶음을 풀기 int a, b; while (1){ cin >> a >> b; if(a == 0 && b == 0) break; if(b%a == 0) cout

백준/C++ 2023.06.06

[백준] 10757번: 큰 수 A+B | C++ 풀이

# 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. # 풀이 C++에서 큰 수의 연산은 string으로 받으면 될 것 같은데 딱 여기까지만 떠오르고 그 이후의 방법이 생각이 안 났다. 특히 올림을 어떻게 처리할지가 막막했는데 공부한다 생각하고 우선 다른 분들의 코드를 많이 보러 다녔다. 그렇게 해서 얻어낸 나의 정답 소스 코드, 바로 확인해보자. #include #include #include using namespace std; string addNum(string a, string b); int main() { string a, b; cin >> a >> b; string sum = addNum(a, b); cout = 0; i--) { int digitSum = (..

백준/C++ 2023.06.05
728x90