백준
백준 11720번 c#
대왕군
2024. 1. 11. 16:55
오답(참고만 할 것)
using System;
namespace Baekjoon
{
internal class Program
{
static void Main(string[] args)
{
//이 로직은 이번 문제에서 틀린로직이므로 참고만 할 것
//이번문제는 입력값에 대량의 숫자가 들어갈수도 있기때문에
//long을 써도 해결이 되지 않는 문제라 다른 방법을 써야한다
//일단 로직은 입력값에 10을 나누고, 나온 몫에 반복적으로 10을 나눠서 나온
//모든 나머지를 더하는 로직이다
long count = long.Parse(Console.ReadLine());
long number = long.Parse(Console.ReadLine());
long temp = number;
long result = 0;
for (long i = 0; i < count; i++)
{
result += temp % 10;
temp = temp / 10;
}
Console.WriteLine(result);
}
}
}
방법 1 (for)
using System;
namespace Baekjoon
{
internal class Program
{
static void Main(string[] args)
{
//숫자의 길이와 계산할 숫자 받아옴
int count = int.Parse(Console.ReadLine());
string numbers = Console.ReadLine();
//결과값 더할 변수
int result = 0;
//숫자 길이만큼 반복함
for (int i = 0; i < count; i++)
{
//numbers는 string형식이므로 char형으로 나누어 하나씩 계산해야함
//배열형식으로 값을 가져온 뒤에 int.Parse로 형변환을 해줄거임
//그런데 int.Parse는 인자로 char가 아닌 string형만 받기때문에 다시 ToString으로 형변환후 인자로 넣어줌
result += int.Parse(numbers[i].ToString());
}
//결과
Console.WriteLine(result);
}
}
}
방법 2 (foreach)
using System;
namespace Baekjoon
{
internal class Program
{
static void Main(string[] args)
{
//숫자의 길이와 계산할 숫자 받아옴
int count = int.Parse(Console.ReadLine());
string numbers = Console.ReadLine();
//결과값 더할 변수
int result = 0;
//foreach를 사용하는 경우 굳이 count를 안써도 됨
foreach (char item in numbers)
{
result += int.Parse(item.ToString());
}
//결과
Console.WriteLine(result);
}
}
}