shw2495   6년 전

수열의 길이가 가장 큰 경우가 1000이기 때문에 메모리 용량을 줄이려고 

char cnt[1001][1001];

이렇게 카운터 배열을 만들었습니다. 그리고 나서, 개수를 다 세고, i(integer 형입니다) 로 정수형으로 강제 형변환 시켜 받으려 했는데 

i = cnt[i][j]; (i = (int)cnt[i][j] 도 해봤습니다.)

 틀렸습니다가 나오네요. 혹시 이럴 경우, 무슨 문제가 생겨서 틀린 것인지 알 수 있을까요?

참고로, int cnt[1001][1001];로 바꿔서 제출했을 때는 맞아서 알고리즘 자체는 맞는 것 같습니다. 

startlink   6년 전

char는 256까지 저장해요

djm03178   6년 전

2의 보수를 사용하는 환경에서 unsigned char는 255까지 저장하고, signed char는 127까지 저장합니다. 대부분의 시스템에서 그냥 char는 signed char입니다.

startlink   6년 전

아 ㅈㅅ합니다 127입니다.

chogahui05   6년 전

메모리 관리를 빡세게 해야 하는 문제가 아니라면 그냥 int 쓰세요.

shw2495   6년 전

아...!!! 이렇게 멍청한 실수를 할 줄이야.. short 랑 착각해서 몇만은 되는 줄 알았습니다. 모두 답변 감사합니다.

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