기본 틀 :
using System;
public class Solution {
public int solution(string t, string p) {
int answer = 0;
return answer;
}
}
문제 푸는 방법은 간단하다.
입출력 예시를 잘 보면 매개변수로 주어진 t가 t.Length - p.Length + 1 만큼 p.Length의 길이로
쪼개진 개수가 생성되는 것을 파악할 수 있다.
이 점을 활용해서 반복 횟수로 지정해주고, 반복문 내에서
t.Substring(현재 반복 횟수, p.Length)로 원하는 문자열을 추출한 후
정수형으로 형 변환을 시켜주면 된다.
이렇게 만들어진 정수와 p를 정수형으로 바꾼 변수를 비교해서 작거나 같으면 count를 증가시켜주면 된다.
이때, 주의해야할 점은 p의 길이가 18 보다 클 수 있다는 사실인데
이는 정수형 타입을 int가 아닌 long으로 사용해야 한다!
(이것 때문에 런 타임 오류가 발생해서 당황 했습니다.)
using System;
using System.Linq;
public class Solution
{
public int solution(string t, string p)
{
int count = 0;
for(int i = 0; i < t.Length - p.Length + 1; i++)
{
long temp = long.Parse(t.Substring(i, p.Length));
count += temp > long.Parse(p) ? 0 : 1;
}
return count;
}
}
'문제 풀기 > C#' 카테고리의 다른 글
45. 시저 암호 (0) | 2025.01.24 |
---|---|
44. 최소 직사각형 (0) | 2025.01.24 |
42. 삼총사 (0) | 2025.01.23 |
41. 이상한 문자 만들 (0) | 2025.01.23 |
40. 3진법 뒤집기 (0) | 2025.01.22 |