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

16wjdekdms님의 프로필 이미지
16wjdekdms

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

4-B

4-B 질문있습니다

해결된 질문

작성

·

46

·

수정됨

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 1.

HHT -> 001 (4)

THH -> 100 (1)

THT -> 101 (5)

이렇게 2진수로 변환하는 것은 이해가 됐습니다.

그런데 (001 -> 4 (1 * 0 + 2 * 0 + 4 * 0 = 4) 라고 하셨는데 001 이면 자리의 가중치가 124 순서가 아니라 421 아닌가요..? 그냥 외울까 싶었는데.. 더 헷갈려서 질문 납깁니다.

 

2.

그리고 go 함수 호출에 대해서 궁금한 게 있습니다.

일단 순서가 go(1) - > go(2) -> go(3) -> go(4) 종료됨 -> go(3)으로 돌아와서 뒤집고 go(4) 또 실행되서 종료.

다시 go(2)로 돌아왔을 때 아까 앞에서 뒤집혔던 상태로 있어도 상관없는 건가요?

 

3.

a 배열의 크기가 왜 44인지 모르겠습니다. 어차피 행만 넣을 거니깐 넉넉히 잡아도 25 여도 상관없는 거 아닌가요? 그냥 넉넉하게 잡아서 44인지 아니면 이유가 있는 걸까요?

항상 좋은 수업 감사합니다!!

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 16님 ㅎㅎ

그런데 (001 -> 4 (1 0 + 2 0 + 4 * 0 = 4) 라고 하셨는데 001 이면 자리의 가중치가 124 순서가 아니라 421 아닌가요..? 그냥 외울까 싶었는데.. 더 헷갈려서 질문 납깁니다.

-> 외우다니요.. ㅎㅎ 좋은 질문입니다. 001 은 421이 맞습니다만 이 문제에서는 대칭적으로 풀어도 되기 때문에 124로 진행해도 됩니다.

 

일단 순서가 go(1) - > go(2) -> go(3) -> go(4) 종료됨 -> go(3)으로 돌아와서 뒤집고 go(4) 또 실행되서 종료.

다시 go(2)로 돌아왔을 때 아까 앞에서 뒤집혔던 상태로 있어도 상관없는 건가요?

-> 음 이게 질문이 모호한데요.

idx에서 안뒤집고 호출 -> 뒤집고 -> 호출이렇게 되서 모든 경우의 수를 판단하는데요. 혹시 이 답변이 해결이 되었나요?

	go(here + 1);
	a[here] = ~a[here];
	go(here + 1);

go(1) -> go(2) -> 뒤집고 -> 다시 go(2)

 

a 배열의 크기가 왜 44인지 모르겠습니다.

-> 제가 한참 44에 빠져있는 시절이 있었어요.. 숫자 4는 행운이고 44는 럭키비키다... 이런거 + 넉넉히 하자 가 반영된 코드라고 보시면 됩니다. 30도 됩니다. ㅎㅎ

 

 


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

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

감사합니다.

강사 큰돌 올림.

16wjdekdms님의 프로필 이미지
16wjdekdms

작성한 질문수

질문하기