728x90
아으
#include<iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(NULL);
int N;
cin >> N;
char arr[N];
int sum = 0;
cin >> arr;
for (int i = 0; i < N; i++) {
sum += arr[i]-'0';
}
cout << sum << '\n';
}
다른 블로그를 보고 이렇게 코드를 작성했었지만 VS에서는 arr[N]이 (배열에 변수가 들어가는걸 용납하지 않는다) 안들어가서 작동이 되지 않지만 백준 코드에서는 정답처리가 되었다.
오늘 새로 문제를 풀었을 때에는 다른 방식을 사용했는데 코드는 아래와 같다.
#include <iostream>
#include<string>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(NULL);
int n;
cin >> n;
string s;
cin >> s;
int res = 0;
for (int i = 0; i < n; i++) {
res += s[i]-48;
}
cout << res << '\n';
}
string을 사용하여 문자열의 형식으로 숫자를 받고 0의 아스키코드 숫자 48을 제거해 줌으로써 원하는 값을 얻어냈다.
처음에 n = 5, s = 54321을 입력하고 값을 확인했을 때 255가 나오길래 이게 뭐지? 왜 다르게 나오지? 싶어서 확인했더니 문자열로 입력이 되어 어쩔수 없었다.
728x90
'알고리즘 연습' 카테고리의 다른 글
C++ 10818 최대/최소 (0) | 2021.09.24 |
---|---|
C++ 1157 단어공부 // transform(대/소문자) (0) | 2021.09.24 |
백준 2753 C++ 윤년 (0) | 2021.09.24 |
c++ 2908 상수 (0) | 2021.09.24 |
C++ 백준 2844 알람시계 (0) | 2021.09.24 |