• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

시간초과가 뜨는데 이유를 모르겠습니다.

24.01.29 23:52 작성 조회수 117

0

안녕하세요 선생님,

http://boj.kr/92a5d34f76b34eef8a2942f4dbc3813d

 

선생님의 코드와 유의미한 차이는 없는 것 같은데, 시간초과가 발생합니다. 왜 저 코드에서 시간초과가 발생하는지 알고 싶습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 영수님 ㅎㅎ

시간초과가 아니네요.

이거 잘못된 코드입니다.

OUT OF INDEX 로 인해서 컴파일 내부에서 잘못된 시간초과가 뜨는 것 같아요.

int cnt[200];
int flag;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	cin >> s;
	for(char b : s) cnt[b]++;

이렇게 바꿔보시겠어요?

예를 들어 'a'는 65이기 때문에 이를 저장하려면 65이상의 배열이 필요합니다.

26으로 선언하셔서 오류가 발생할 수 있습니다.



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

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

감사합니다.

강사 큰돌 올림.


김영수님의 프로필

김영수

질문자

2024.01.30

답변 감사합니다!