작성
·
176
0
안녕하세요
먼저 제가 처음 작성한 코드입니다.
http://boj.kr/fa4a2cffd39f4e388d7b79b7d140679
강사님의 코드와 99% 유사한데, 17코드, FOR문에서 i<=(1<<n)로 작성하였을 때, 틀렸다고 나왔습니다.
여기서, i<=(1<<n) --> i<(1<<n)로 변경하였을 때는 맞다고 나왔습니다.
그런데, 저는 (1<<n)열까지 포합시켰을 때 틀린 이유를 모르겠습니다.
(1<<n) 열은 아무 값도 없어서 굳이 탐색할 필요 없지만, 전역변수로 선언하면 어차피 0으로 초기화 되므로,
cnt는 항상 0이 되야 된다고 생각했는데
1<<n열의 값을 출력해보니까 -5,-6 같은 값이 들어가 있는 이유를 모르겠습니다.
답변 1
0
안녕하세요 데자르님 ㅎㅎ
i<=(1<<n)
>> 이 부분은 해당 되는 경우의 수가 없는 부분이기 때문에 그렇습니다.
예를 들어 n이 3일 때
000
001
010
011
100
101
111
이렇게 8가지의 경우의수가 있죠?
근데
1000
이런 경우의 수는 없지 않을까요?
없는 경우의 수를 넣어서 틀렸다고 뜨는 것 같습니다.
감사합니다.