강의

멘토링

로드맵

Inflearn brand logo image

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

김도영님의 프로필 이미지
김도영

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2024년 2회 기출문제 - 이론 포함

24년 2회 기출 질문 (영상 35:43)

해결된 질문

작성

·

59

0

if의 조건이 잘 이해되지 않아요. 제가 이해한 바로는 처음 seen 배열을 선언할 때 배열에 들어갈 값들을 지정하지 않았으므로, 256칸 전부에 모두 0으로 값이 초기화되었고, 따라서 !seen[c] 는 항상 !0 = 1 인 것으로 보입니다. 제가 이해한 게 맞을까요?

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

초기에 전부 0 맞습니다. 0은 false로 해석하죠.

처음 들어가는 경우에는 해석하신 것이 맞습니다. 모두 0이니까요.

 

항상 1이냐? 그렇지 않습니다. 한 번 들어간 것은 아니죠.

if(!seen[c])를 한 번 들어간 부분은 바로 아랫 줄인 seen[c] = true를 거쳤기 때문에 똑같은 문자가 c에 들어온다면 전체가 false가 됩니다.

 

"항상"은 아니고, 한 번 들어갔던 경우에는 거짓이 됩니다.

김도영님의 프로필 이미지
김도영

작성한 질문수

질문하기