반응형
이번 문제 또한 쉬운 편이다.
마치 팩토리얼처럼 주어진 숫자의 이전 수를 모두 더하면 성공이다.
예제로 3이 주어지면, 1+2+3, 즉 6을 출력하면 성공인 문제이다.
for문을 활용하면 쉽게 해결할 수 있다.
using System;
namespace unicoti {
class Program {
static void Main(string[] args) {
int num;
int sum = 0;
int.TryParse(Console.ReadLine(), out num);
for(int i = 1; i <= num; i++) {
sum += i;
}
Console.WriteLine(sum);
}
}
}
for문이 나오는건 당연하고, 1부터 주어진 숫자(num)까지 더해주어야하기에
i를 1부터 시작하게 한 후 <= 를 통해서 주어진 조건을 실현하였다.
입력값은 정수형 변수를 먼저 만든 이후 int.TryParse를 이용해서 안전하게
입력값(문자열)을 정수형으로 파싱해주었다.
그리고 for문을 통과한 이후 sum에 저장해놨다가 출력해줘서 문제를 끝냈다.
오늘의 느낀점)
느낀점은 크게 없으나 sum을 만든 위치 때문에 코드를 수정했다.
sum을 for문 내부의 로컬변수로 만들었었는데, 출력할 때가 되자
클로저 문제로 sum의 값을 가져올수가 없었기도 하고
애초에 for문 안에 만들면 반복할때마다 sum을 새로 만드는거라
덧셈이 불가능하다는 생각을 하게 되었다.
뭐 간단히 고치면 되는 실수이긴 하지만 이런 실수 또한
줄일 수 있을 것이기에 이번 문제로 디테일을 조금 챙겨간 것 같다.
이상으로 도움이 되었길 바라며,
끝.
반응형
'코딩테스트 (C#)' 카테고리의 다른 글
백준 25314 : 코딩은 체육과목 입니다 - C# 풀이 (0) | 2024.08.27 |
---|---|
백준 25304 : 영수증 - C# 풀이 (0) | 2024.08.23 |
백준 10950 : A+B - 3, C# 풀이 (0) | 2024.08.21 |
백준 2739 : 구구단 - C# 풀이 (0) | 2024.08.21 |
백준 2480 : 주사위 세개 - C# 풀이 (0) | 2024.08.19 |
댓글