[브론즈 4]
문제는 다음과 같다.
처음에는 계산으로만 쭉 하려고 했으나 예제 입력 3번에서 실행이 안되는 오류가 발생하였다.
결국 이런 문제는 char을 사용하라는 의미였다.
그럼 char에 대한 간단한 개념을 짚고 넘어가자.
char은 정수를 입력한다!!!!
char 변수는 1-byte 정수이다. 하지만 이 정수는 우리가 흔히 아는 정수가 아니다. char 값은 보통 ASCII code 문자로 해석한다.
위에서 말했듯이 최종 출력값은 정수의 형태이다.
우리가 기본적으로 알아야 하는 코드는 48->(0), 65->(A), 97->(a) 이다.
한마디로 48을 입력하면 0이 출력되고 65를 입력하면 A가 출력된다.
int main()
{
char ch(97);
std::cout << ch << std::endl; // a
std::cout << static_cast<int>(ch) << std::endl; // 97
std::cout << ch << std::endl; // a
return 0;
}
숫자 그대로 출력을 하고 싶으면 static_cast(ch)로 형변환하면 된다.
처음 ch를 선언할 때 옆에 정수를 같이 붙여준다.
char ch(97);
cin >> ch 으로 입력을 한꺼번에 받더라도 char은 한 글자씩 읽어들일 수 있다
#include <iostream>
using namespace std;
int main()
{
int count;
char ch;
int sum = 0;
cin >> count;
for(int i=0; i < count; i++)
{
cin >> ch;
sum += ch - 48;
}
cout << sum << endl;
}