인프런 커뮤니티 질문&답변

dbehdgns71님의 프로필 이미지
dbehdgns71

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-B

3-B char배열과 int배열 질문입니다.

작성

·

271

0

http://boj.kr/c486a4712da546db8d98b08c3e5084f4

제 코드중에 a배열을 int로 하였더니 예제출력이 9가나와서 오답입니다.

동일한코드에서 int a배열을 char배열로 바꿧더니 정답이 8이됩니다.

int만 char로 바꾸었는데 정답이 바뀔수 있나요?

제가 알기로는 int a[]하고 a에 'W'를 집어넣거나 a[ny]=='W' 동일하다고 알고있는데 제가 잘못알고잇던것같습니다.

  1. char a 배열로 선언후 cin>>a[i][j]를 하면 따닥따닥입력도 한글자씩 입력되는지

  2. int a 배열로 했을때 왜 맞왜틀인지 궁금합니다.

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 71님ㅎㅎ

  1. char a 배열로 선언후 cin>>a[i][j]를 하면 따닥따닥입력도 한글자씩 입력되는지

>> 네 입력 가능합니다. 해당 부분은 교안 내의 다음 부분을 참고해주세요.

Q. 따닥따닥 붙어있는 것을 어떻게 입력받죠?

 

  1. int a 배열로 했을때 왜 맞왜틀인지 궁금합니다.

>> 이 문제는 "문자"가 들어옵니다. 따로 문자를 int로 변환해주는 로직없이 int로 선언한 배열을 기반으로 문자를 받아서는 안됩니다.

코드를 보면 문자를 받는다고 1c라고 했는데

            scanf("%1c", &a[i][j]);

선언한 배열을 볼까요?

int m, n, a[54][54],v[54][54],ret;

int형으로 해놨으니 안됩니다.

int로 선언했으면 int로 입력을 받아야 하고

char로 선언했으면 char로 입력을 받아야 합니다.

즉, char a[54][54]로 선언해야 합니다.

 

 

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

dbehdgns71님의 프로필 이미지
dbehdgns71

작성한 질문수

질문하기