https://www.acmicpc.net/problem/11720
제출했던 코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
int sum = 0;
string num;
cin >> n;
cin >> num;
for (int i = 0; i < n; i++)
{
sum += stoi(num.substr(i, 1));
}
cout << sum;
}
* stoi: string 형을 int 형으로 변환해주는 함수
substr을 이용해서 문자열을 자르고 stoi 함수로 int 형태로 변환해 주었다
추가 풀이
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
int sum = 0;
string num;
cin >> n;
cin >> num;
for (int i = 0; i < n; i++)
{
sum += num[i] - '0';
}
cout << sum;
}
string 변수에 인덱스를 통해 접근하면 char 형태로 반환되는데, char 형태는 아스키 코드를 사용하기 때문에 바로 숫자 형태로 변환할 수가 있다
'0'의 아스키 코드 값은 48이라 '0'을 빼거나 48을 빼 주면 정수형태로 변환할 수가 있다
'Programing > 백준, 프로그래머스(C++)' 카테고리의 다른 글
[C++] 입출력 속도 줄이기(시간초과 해결법) (1) | 2025.01.01 |
---|---|
[C++][백준 4659] 비밀번호 발음하기 (0) | 2024.12.31 |
[C++][백준 1157] 단어 공부 (1) | 2024.12.31 |
[C++][백준 10798] 세로읽기 (0) | 2024.12.31 |
[C++][백준 9046] 복호화 (0) | 2024.12.31 |