결국엔 컴퓨터는 우리가 낸 숫자를 맞추고, 지금 현재 몇개로 생각이 정리 되었는지에 대해 출력하는 문제인듯
1 리스트를 하나두어서 민혁이가 말하는 모든 경우의 수를 다 저장을 하는것
처음 들어온 수 부터 시작을 해서 전부다 저장을 하는 방법
ex) 123 1 1
문제점 : 일단 다음 숫자랑 어떻게 비교를 할 것인지, 또한 456 1 1 와 같은 이전 숫자와 다른 것들이 들어오면 비교하는 것이 의미가 없어짐
2 1번과 유사한 방법으로 일단 들어온 숫자들을 모두 리스트를 이용하여 전부 저장을 하는 방법
ex) 4
123 1 1
356 1 0
327 2 0
489 0 1
문제점 : 일단 들어오는 입력이 얼마인지 모르기 때문에 리스트를 생성하는 코드를 짜는 문제, 리스트가 너무 많으면 일단 효율이 떨어짐 그리고 앞서 말한 것 처럼 123 1 1 과 456 1 1은 절대 같은 수가 겹칠 수 가 없음
3 2번 처럼 리스트를 전부다 만드는 것이 아니라 2차원 배열로 구현하는 방법
1번과 2번에서 풀리지 않았던 123 1 1과 456 1 1을 생각해 보니, 저렇게 입력이 들어올 수 없다는 것을 생각해 냄 이유는 123 1 1이면 2개의 숫자가 포함이 된다는 것이고 456 1 1이면 또 2개의 숫자가 포함이 된다는 것인데 그럼 총 4개의 숫자가 됨 .. 이것 때문에 한참을 고민함 ...
ex) 4
123 1 1
356 1 0
327 2 0
489 0 1
문제점 : 스트라이크와 볼을 어떤 숫자로 할 것인지 정하는 것이 가장 큰 문제점 → 그리고 모든 스트라이크의 경우의 수를 구현해야됨 예를 들어 스트라이크가 하나일 경우, 두개일 경우 등 모든 경우의 수를 생각해 줘야됨
4 범위를 이용하여 문제를 푸는 방법
brute-force를 이용하는 문제인 것을 알게되었는데, 앞서 내가 생각했던 방법들은 모두 잘 풀어 보려고 했던 방법들이었다는 것을 알게됨 ..
ex) 4
123 1 1
356 1 0
327 2 0
489 0 1