반응형
SMALL
문제
코드
using System;
using System.IO;
namespace BOJ
{
internal class Program
{
static void Main(string[] args)
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
int[] NM = Array.ConvertAll(sr.ReadLine().Split(), int.Parse);
int[] arrNum = Array.ConvertAll(sr.ReadLine().Split(), int.Parse);
int N = NM[0];
int target = NM[1];
int start = 0;
int end = 0;
int sum = 0;
int cnt = 0;
while (true)
{
//sum 값이 target보다 같거나 크다면
if (sum >= target)
{
// sum값에 start 인덱스 요소값을 빼주고
sum -= arrNum[start];
//start 인덱스 +1
start += 1;
}
// end 인덱스 값이 배열의 크기를 벗어나면 break;
else if (end >= arrNum.Length) break;
//그 외에는
else
{
// sum값에 end인덱스 요소값을 더해주고
sum += arrNum[end];
//end 인덱스 +1
end += 1;
}
//위의 조건문을 거쳐 sum 값과 target 값이 같다면 count
if (sum == target) cnt += 1;
}
sw.WriteLine(cnt);
sr.Close();
sw.Close();
}
}
}
결과창
투포인터 복습겸 놓친 문제를 다시 풀어보았다.
약간 외워서 푸는 느낌이 있는데 좀더 그림을 그려가며 다른 투포인터 응용문제들도 풀어보아야겠다.
반응형
LIST
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 1260번 DFS와 BFS (0) | 2023.03.05 |
---|---|
[BOJ] 1940번 주몽 C# 사용 풀이 (두포인터 알고리즘 ) (0) | 2023.02.20 |
[BOJ1158] 요세푸스 문제 C# 사용 풀이 (0) | 2023.02.16 |
[BOJ] 7785번 회사에 있는 사람 - 미해결 (0) | 2023.02.12 |
[BOJ] 오등큰수 C# 사용 풀이 (복습 대상) (0) | 2023.02.10 |