Notice
Recent Posts
Recent Comments
Link
마이라이프해피라이프
[알고리즘 스터디] 백준 10824번 c++ 풀이 - out of range 에러, long long type 본문
컴퓨터/백준(C++)
[알고리즘 스터디] 백준 10824번 c++ 풀이 - out of range 에러, long long type
YONJAAN 2022. 3. 30. 00:01# 문제 10824번: 네 수
https://www.acmicpc.net/problem/10824
# Concepts to solve this problem.
-> stoi: string to int / stol: string to long / stoll: string to long long
참고 링크 https://en.cppreference.com/w/cpp/string/basic_string/stol
-> long long / long / int 의 차이
type | range |
int | –2,147,483,648 ~ 2,147,483,647 |
long | –2,147,483,648 ~ 2,147,483,647 |
long long | –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
# Code
#include <iostream>
#include <string>
using namespace std;
int main() {
string one, two, three, four;
cin >> one >> two >> three >> four;
string result_1 = one + two;
string result_2 = three + four;
long long result = stoll(result_1) + stoll(result_2);
cout << result;
return 0;
}
# Erorr
stoi 나 result를 저장할 때 int를 사용한다면 out of range 오류가 발생할 수 있다.
숫자 범위를 보면 1,000,000이하의 수로 단순히 붙여놓으면 int 범위를 넘는 10000001000000라는 큰 수가 나온다.
int가 가질 수 있는 범위를 넘어버리기 때문에 out of range 오류가 발생하고 이를 해결하기 위해 더 큰 수를 담을 수 있는 long long type을 사용해야 한다.
'컴퓨터 > 백준(C++)' 카테고리의 다른 글
[CPP] 11382 - int 관련 자료형 (0) | 2024.11.06 |
---|---|
[알고리즘 스터디] 백준 1712번 c++ 풀이 - DivisionByZero 에러 (0) | 2022.03.30 |
[알고리즘 스터디] 백준 1075번 c++ 풀이 (0) | 2022.03.29 |
백준 10828번 c++ 풀이 - 스택 (pop_back, back) (0) | 2021.09.15 |
백준 1427번 c++ 풀이 - 소트인사이드 (내림차순 정렬 greater) (0) | 2021.08.27 |