Pascal/BAEKJOON
pascal 7366번 Counting Sheep (백준)
rofn123
2025. 7. 18. 05:00
var t,n,m,i,j,a,b:word;s:string;
begin
readln(t);j:=0;
repeat
readln(n);readln(s);
j+=1;
m:=length(s)-4;a:=0;b:=0;i:=1;
while i<=m do begin
if(b=0)and(s[i]='s')and(s[i+1]='h')and(s[i+2]='e')and(s[i+3]='e')and(s[i+4]='p')then begin
if(s[i+5]=' ')or(i=m)then begin a+=1; i+=5; end;
end else b:=1;
if s[i]=' 'then b:=0;
i+=1;
end;
writeln('Case ',j,': This list contains ',a,' sheep.');
if j<t then writeln();
until t=j;
end.
풀이 's', 'h', 'e', 'e', 'p', ' ' 또는 's', 'h', 'e', 'e', 'p', \0 의 개수를 구하는 문제입니다.
b 가 0 이면, 특정 단어가 찾고자 하는 건지 판단합니다!
아니라면 b=1로 바꾸고 새로운 단어가 온다는 것을 알려주는 ' ' (공백, blank) 문자가 올때까지 i 을 1씩 증가시킵니다.
' '을 만나면 다시 b=0으로 바꾼다음 새로운 문자가 찾고자 하는게 맞는지 판단합니다.
주의 할 점 : 띄어쓰기 2줄!!!, sheepsheep 이건 sheep 이 아닙니다!!!!!!!!!