반응형
<소스 코드>
namespace Test
{
internal class Program
{
static void Main(string[] args)
{
// 각 자리수의 합 계산하기
// 1. 단순 계산 알고리즘으로 나타내기
int n = 1234;
int result = 0;
while (n > 0)
{
result += n % 10;
n = n / 10;
}
Console.WriteLine(result);
// 2. 배열을 이용한 계산
// 숫자를 문자열로 바꾼뒤에 각각의 문자는 해당 아스키 코드를
// 가지고 있으므로 (문자 - 문자)를 통해 실제 숫자로 바꿔준다.
// ('1' - '0') 은 아스키코드로 (49 - 48)이므로 1이 나온다.
// 이것을 (int)형으로 변환하면 숫자 1로 바뀐다.
// 만약 단순하게 생각해서 (int)num[i]로 적는다면
// 아스키코드 숫자인 49가 나와서
// 49를 (int)형으로 변환하면 숫자 49를 그대로 나온다.
// 그럼 1+2+3+4가 아니라 49+50+51+52 = 202라는 결과가 나온다
n = 1234;
result = 0;
string num = n.ToString();
for(int i = 0; i < num.Length; i++)
{
result += (int)num[i] - '0';
}
Console.WriteLine(result);
}
}
}
<결과 확인>
728x90
반응형
'연습문제 > C# 연습문제' 카테고리의 다른 글
11. 문자열 접두사 비교하기 (0) | 2023.08.16 |
---|---|
10. 공백(다중) 처리하기 (0) | 2023.08.06 |
9. 제곱근과 제곱수 (0) | 2023.08.06 |
8. 문자열 치환, 문자열 변경(특정문자) (0) | 2023.08.06 |
7. 대소문자 구별없이 비교하기(Contains) (0) | 2023.08.03 |
6. 대소문자 변환 (0) | 2023.08.03 |
5. 배열에 숫자 순서대로 채우기 (0) | 2023.08.02 |
4. 문자열에서 숫자 찾기 (0) | 2023.07.29 |
2. 배열 뒤집기 (0) | 2023.07.23 |
1. 특정 문자 또는 문자열 제거 (0) | 2023.07.23 |