728x90
SMALL
백준 문제 풀이: 31403 [A + B - C]
문제 링크: https://www.acmicpc.net/problem/31403
문제 설명:
정수 a
, b
, c
가 주어질 때, 아래의 두 가지 결과를 출력하는 문제입니다.
a + b - c
- 숫자
a
와b
를 문자열로 이어붙인 후 정수로 변환하여,c
를 뺀 결과
입력:
- 한 줄에 세 개의 정수
a
,b
,c
가 주어집니다. (1 ≤a, b, c
≤ 106)
출력:
- 첫 번째 줄에
a + b - c
의 결과를 출력합니다. - 두 번째 줄에 문자열로 이어붙인
a
와b
에서c
를 뺀 결과를 출력합니다.
문제 해결 코드
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int a, b, c;
cin >> a >> b >> c;
// 첫 번째 결과: a + b - c
cout << a + b - c << '\n';
// 두 번째 결과: 문자열로 a와 b를 연결 후 정수 변환, c를 뺌
string s = to_string(a) + to_string(b);
cout << stoi(s) - c << '\n';
return 0;
}
예제
입력:
123 456 789
출력:
-210
123456
입력:
100 200 50
출력:
250
100150
코드 설명
- 기본 연산:
- 첫 번째 출력은
a + b - c
의 값을 계산하여 출력합니다.
- 첫 번째 출력은
- 문자열 연산:
to_string()
함수로a
와b
를 문자열로 변환하여 연결합니다.stoi()
함수로 문자열을 다시 정수로 변환합니다.- 변환된 정수에서
c
를 뺀 결과를 출력합니다.
시간 복잡도
- 숫자 변환 및 계산은 O(1)의 시간 복잡도를 가지므로 전체 코드의 실행 시간은 매우 효율적입니다.
결과
코드는 입력된 정수에 대해 요구된 두 가지 결과를 정확히 계산하여 출력합니다. 문자열과 정수 변환을 효율적으로 활용하여 문제를 해결합니다.
다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 10830번 [행렬 제곱](C++)-yes6686- 티스토리 (0) | 2024.12.29 |
---|---|
백준 28702번 [FizzBuzz](C++)-yes6686- 티스토리 (0) | 2024.12.27 |
백준 30802번 [웰컴 키트](C++)-yes6686- 티스토리 (0) | 2024.12.27 |
백준 1629번 [곱셈](C++) -yes6686- 티스토리 (0) | 2024.12.26 |
백준 11659번 [구간 합 구하기 4](C++) -yes6686- 티스토리 (0) | 2024.12.25 |