어떤 방식으로든 풀기만 하면 되지만, 문제에서 주어진 '7회 이내로 풀기' 조건을 항상 달성할 수 있는 풀이는 다음과 같다.

  1. 먼저 1234를 시도한다.
  2. 정답을 맞춘 경우, 즉 4S가 나온 경우 여기서 풀이는 종료된다.
  3. 정답이 아닌 경우, 현재까지의 판정 기록을 만족하는 숫자 중 가장 작은 숫자를 시도한다.
  4. 2로 돌아간다.

위 방법을 이용하게 되면 최대 6번의 숫자 시도에서 정답을 맞출 수 있게 된다.

의심 많은 사람을 위해, 정답으로 가능한 360가지 모든 경우에 대해 위 풀이로 최대 몇 회 시도가 필요한지 정리한 결과를 첨부한다.

enumerate_result

예시 풀이는 다음과 같다:

  1. 1234를 시도한다 → 결과 0S 2B가 나왔다.
  2. 1234와 0S 2B의 관계를 가지는 숫자 중 가장 작은 숫자는 2156이다.
  3. 2156을 시도한다 → 결과 3S 0B가 나왔다.
  4. 1234와 0S 2B의 관계를 가지며, 2156과 3S 0B의 관계를 가지는 숫자 중 가장 작은 숫자는 2356이다.
  5. 2356을 시도한다 → 결과 2S 0B가 나왔다.
  6. 1234와 0S 2B, 2156과 3S 0B, 2356과 2S 0B의 관계를 가지는 숫자 중 가장 작은 수는 4156 이다.
  7. 4156을 시도한다 → 결과 4S 0B 가 나와서 종료