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

pingdh3721님의 프로필 이미지
pingdh3721

작성한 질문수

코딩테스트 [문제 해결 기법]

섹션1-예제1 질문

해결된 질문

작성

·

52

1

안녕하세요, 우선 좋은 강의 감사합니다.

제가 보기엔 섹션1의 예제1에서 가장 중요한 아이디어는 아래 3가지인 것 같습니다.

  1. 조작2와 조작3은 해당 칸의 색을 반전 시키는 것 외엔 같다.

  2. 모든 칸에 우선 조작2를 시행한다.

  3. 모든 칸에 조작2를 시행하면, 1번 아이디어에 의해 모든 검정타일을 반전 시킬 수 있다.

또한, 해설에서 생각의 흐름 또한 1 → 2 → 3 인 것 같습니다.

1번은 쉽게 관찰할 수 있는데, 2번 아이디어는 어떻게 생각하는 건가요?

제가 혼자 문제에 대해 고민하며 1번 아이디어를 관찰했을 땐, 1번 아이디어를 어떻게 사용해야 할지 감이 잘 안 왔습니다. '조작2를 시행한 칸에 대해 조작3으로 번복하면 해당 칸 외엔 변화가 없고 해당 칸의 색만 바뀐다' 라는 사실까진 도달했지만, 모든 칸에 조작2를 우선적으로 시행해두고 아이디어1을 이용할 생각까진 도달하지 못했습니다. 이런 생각을 하지 못한 사람 입장에선, 모든 칸에 조작2를 먼저 해본다는 게 다소 막연하고 배경의 motivation이 없이 갑자기 툭 나온 생각 같다는 느낌이 들어서 질문 드립니다.

더 나아가, 어떻게 이런 생각들을 운에 맡기지 않고 논리적으로 접근할 수 있을까요?

답변 1

1

최기원님의 프로필 이미지
최기원
지식공유자

좋은 질문 감사합니다.

이 문제를 ‘선택 번복 하기’라는 주제에 묶은 이유이기도 합니다.

여러 개의 옵션 중에 선택을 해야하는 유형의 문제에서는 관찰을 위해 과감하게 선택을 해볼 수 있을겁니다.

그런 과감한 선택은 최적이 아닐 수 있으니 적절히 번복하여 최적의 해를 찾아보려는 시도를 해볼 수 있을 것입니다.

제 결론은, 문제가 선택을 하는 문제이고, 선택이 독립적이라 각각을 자유롭게 번복 가능하다면, 과감한 선택 & 번복을 의식적으로 시도해 보면 문제 해결의 실마리가 나올수도 있다는 것입니다.

도움이 되었으면 좋겠습니다.

감사합니다.

pingdh3721님의 프로필 이미지
pingdh3721
질문자

도움이 됐습니다. 감사합니다!

pingdh3721님의 프로필 이미지
pingdh3721

작성한 질문수

질문하기