[코딩테스트] 백준 #11720 문제 풀이

재오·2022년 9월 22일
1

코딩테스트

목록 보기
3/46
post-thumbnail

[브론즈 4]

문제는 다음과 같다.
처음에는 계산으로만 쭉 하려고 했으나 예제 입력 3번에서 실행이 안되는 오류가 발생하였다.

결국 이런 문제는 char을 사용하라는 의미였다.

그럼 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;
}
profile
블로그 이전했습니다

0개의 댓글