Algorithm/BAEKJOON
[C#]백준 5671 호텔 방 번호 - Hide
zz0zz9
2024. 10. 7. 23:08
반응형
반응형
https://www.acmicpc.net/problem/5671
문제 요약
주어진 범위에서 중복이 없는 숫자의 개수 출력하기
참고
아무것도 입력하지 않았을 때 입력이 끝난다.
런타임 에러(Segfault)
var s = new List<int>();
while ((s = Console.ReadLine().Split().Select(int.Parse).ToList()) != null)
{
int c=0;
for (; s[0] <= s[1];)
{
var t = s[0]++.ToString();
c += (t.Count() == t.Distinct().Count()) ? 1 : 0;
}
Console.WriteLine(c);
}
while문에서 런타임 에러 뜬다.
맞은 풀이
var s = "";
while ((s = Console.ReadLine()) != null)
{
var n = s.Split().Select(int.Parse).ToList();
int c = 0;
for (; n[0] <= n[1];)
{
var t = n[0]++.ToString();
c += (t.Count() == t.Distinct().Count()) ? 1 : 0;
}
Console.WriteLine(c);
}
결국 문자열 변수 s에 입력을 담고, 그 s를 int형 리스트 n으로 새로 만들어야 했다.
for문은 n[0]에서 n[1]까지 반복문을 돌린다.
그 안에서 n[0]을 문자열로 바꿔주고 1씩 증가시키고,
t의 길이와 t에서 중복 제거했을 때의 길이가 같으면 c에 +1, 아니면 +0을 해준다.
그리고 출력
오늘 하루종일 몇문제 풀었는데 다 막혀서 고생하다가 이거 하나 겨우 풀었네 진쯔...ㅡㅡ
아 힘들어!!!!!!!!!!!!!!!!!!!!!짜ㅣ증나
이제 밥먹어야지
반응형