jsstar522   5년 전

안녕하세요 백준 강의 불면서 문제를 풀고 있습니다.

소수경로 문제에서 강의 내용에는

네자리 숫자(int)를 모두 string 형태로 바꿔서(to_string()이용) 해당 자릿수의 숫자를 쉽게 바꿔가도록 풀었는데요.

string s에서 해당 자리에 있는 수를 digit이라는 숫자로 바꿀 때, s[index] = digit; 으로 수행합니다.

그런데

s[index] = digit +'0' 에서 '0'은 왜 넣는건지 궁금합니다.

djm03178   5년 전

어떤 수와, 그 수에 대한 문자는 서로 다르기 때문입니다.

어떤 값이 어떤 문자로 표현될 것인가는 단순한 약속이며, 그 약속의 대표적인 예가 아스키 코드입니다.

아스키 코드 상에서 0부터 9까지의 숫자는 연속된 정수 값을 가지고, 그 시작이 문자 '0'입니다.

그래서 '0'이라는 문자는 0 + '0'과 같고, '1'이라는 문자는 1 + '0'과 같고, '9'라는 문자는 9 + '0'과 같습니다.

댓글을 작성하려면 로그인해야 합니다.