znxnsken   1년 전

안되는 이유가 몰까요 ㅠㅠ

#include<stdio.h>
int main(){
int j,i,N,c=0;
int b[123],score;
for(i=0;i<123;i++)
b[i]=0;
char a[100];
scanf("%d",&N);
score=N;
for(i=0;i<N;i++){
scanf("%s",a);
while(a[c]!=0)
c++;
for(j=0;j<=c;j++){
if(b[a[j]]==0){
b[a[j]]++;
}
else if(b[a[j]]!=0 && a[j]!=a[j-1]){
--score;
break;
}
}
}
printf("%d",score);
}

plzrun   1년 전

일단 질문 이렇게 올리면 사실 답변 아무도 안답니다.

들여쓰기 꼭 똑바로 해주세요.



먼저 문자열 개수가 100개까지 들어오면 char배열은 101개를 잡아야 합니다. 마지막에는 반드시 널문자가 들어오기 때문이죠.

반복문 for(i)부분에선 c를 0으로 초기화 해야 할텐데 그 부분이 보이질 않는군요.

b는 체크배열인가요? 체크배열 같군요. 그럼 이 부분도 초기화 해야하는데 어째 맨 처음만 0으로 초기화 하시는군요?



이 부분을 해결해서 가장 조금만 고쳐서 AC받은 소스를 올려봅니다.


plzrun   1년 전

위의 답변 작성한 사람입니다.

저라면 이렇게 코드를 작성할 것 같습니다.

댓글을 작성하려면 로그인해야 합니다.