알고리즘 문제를 풀다가 난관에 봉착했다.
54321 을 입력했을 때,
50000
4000
300
20
1
이렇게 출력되기를 원했는데, 자꾸 전혀 모르는 숫자가 생기는 것...
그래서 도대체 어디서 꼬인걸까 봤는데,
바로 아스키코드(ASCII code-2진수)로 표현되었던 것이었다..!
아스키코드로 문자 1은 49임!
char 문자를 숫자로 변환하는 방법은 바로 - '0' 을 넣어주는 것이다!
문자 0은 아스키코드로 48이기 때문에 빼주면 숫자로 변환 완료되는 거!
예를 들어,
char로 된 배열 arr[1] = 1;
arr[1] = (10진수로 표현 시) 1, (2진수로 표현 시) 49;
arr[1] - '0' = 49 - 48 = 1;
내가 원하는 10진수로 정상적으로 출력되는 것 확인:-D