문제번호: 수들의 합 5
문제명: 2018번 문제풀이
문제링크: https://www.acmicpc.net/problem/2018
문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다.
오늘은 오름차순의 연속되는 수들의 합으로 N을 만들 수 있는 가짓수를 구하는 문제를 풀어보았습니다. 이중반복문을 이용해서 모든 경우의 수를 다 순회하며 찾았습니다 시간복잡도가 O(N^2)이라서 비효율적인 방식이지만 제한시간이 2초임을 고려했을때 충분히 통과할 수 있었습니다. 다음은 정답코드입니다.
public static void Main()
{
using var sr = new StreamReader(Console.OpenStandardInput());
using var sw = new StreamWriter(Console.OpenStandardOutput());
int n = int.Parse(sr.ReadLine());
int answer = 0;
for (int i = 1; i <= n; i++)
{
int addNum = 0;
for (int j = i; j <= n; j++)
{
addNum += j;
if (addNum == n)
{
answer++;
break;
}
else if (addNum > n)
{
break;
}
}
}
sw.WriteLine(answer);
sr.Close();
sw.Close();
}'알고리즘 풀이' 카테고리의 다른 글
| [C#] 백준 17478번 문제풀이 (3) | 2026.01.30 |
|---|---|
| [C#] 백준 1543번 문제풀이 (0) | 2026.01.29 |
| [C#] 백준 10867번 문제풀이 (0) | 2026.01.27 |
| [C#] 백준 35143번 문제풀이 (0) | 2026.01.26 |
| [C#] 백준 1417번 문제풀이 (0) | 2026.01.25 |