각 줄을 출력한 후에 불필요한 문자가 출력되면 안 됩니다. 이 경우 a 배열이 처음에 첫번째 원소를 제외하고 모두 0값, 즉 널 문자로 초기화되므로, 매 줄마다 불필요한 널 문자가 MAX - n개만큼 출력됩니다.
2439번 - 별 찍기 - 2
제가 정신이 없나 보네요. 지금 컴파일러가 맛이 가서 컴파일 없이 눈으로만 보다 보니 실수하네요.
다시 읽어보니, 문제가 되는 부분은 이거네요.
char a[MAX][MAX] = { ' ', };
이렇게 초기화를 했는데, 이 경우 a는 첫 번째 원소만 공백 문자고 나머지는 널 문자로 초기화됩니다.
어떤 환경에서는 널 문자를 출력하면 마치 공백 문자인 것처럼 똑같이 출력이 되는데, 공백 문자와 널 문자는 서로 전혀 다른 문자입니다.
따라서 print 함수에서 공백 문자가 와야 할 자리에 공백 문자가 아닌 널 문자를 출력하니, 오답이 됩니다.
댓글을 작성하려면 로그인해야 합니다.
embarass 6년 전
먼저 입력n크기의 nxn행렬을 만들고
대칭성을 이용해 문제를 해결하려 했습니다.
행렬의 대칭축을 찾는과정에서 홀수와 짝수인경우를 나누어 생각해보았고
이과정에서 두 경우 모두 i번째행에서 v - j열의 원소를 *로 바꿔주면 된다는 결론이 나와서
이대로 코드를 구현했습니다.
제출하면 틀린코드라고 나오는데 혹시 어디가 잘못됬는지 알려주시면 감사하겠습니다.