인프런 커뮤니티 질문&답변
교안 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일 때)
저걸 빼지 않고 숫자로 집어넣는 디버깅을 하시면 충분히 이해가 가실겁니다.
감사합니다.





