강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

 집사님의 프로필 이미지
집사

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

C++알고리즘 교안

교안 23~24 문자열 분해

작성

·

180

0

#include<bits/stdc++.h>

using namespace std;

int n, m, a[10][10];

string s;

int main(){

cin >> n >> m;

for(int i = 0; i < n; i++){

cin >> s;

for(int j = 0; j < m; j++){

a[i][j] = s[j] - '0';

}

}

for(int i = 0; i < n; i++){

for(int j = 0; j < m; j++){

cout << a[i][j];

}

cout << '\n';

}

}
a[i][j] = s[j] - '0'; 여기서 -'0'을 하는 이유를 모르겠습니다.

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요. ㅎㅎ

해당부분은 아스키코드를 기반으로 문자를 숫자로 변환하기 위해서 입니다.

예를 들어, 아스키코드에서 0은 48을 가지죠?

해당 부분을 빼서 숫자 0으로 만들어주는 것입니다. 48 - 48 인것이죠(숫자가 0일 때)

저걸 빼지 않고 숫자로 집어넣는 디버깅을 하시면 충분히 이해가 가실겁니다.

감사합니다.

 

 집사님의 프로필 이미지
집사

작성한 질문수

질문하기