전체 글 703

숫자야구 볼 판정 코드를 작성해 봤음

def get_feedback(guess, answer): strike = 0 ball = 0 for i in range(3): if guess[i] == answer[i]: strike += 1 elif guess[i] in answer: ball += 1 return strike, ball # 사용자로부터 답을 입력받음 answer = input("3자리 숫자 답을 입력하세요: ") while len(answer) != 3 or not answer.isdigit() or len(set(answer)) != 3: print("잘못된 입력입니다. 중복되지 않는 3자리 숫자를 입력해주세요.") answer = input("3자리 숫자 답을 입력하세요: ") while True: # 사용자로부터 추측값을 입..

일상의 잡다한 2024.03.19

숫자야구 솔버 3자리 파이썬 0-9 사용

from itertools import permutations import random # 가능한 모든 3자리 숫자 조합 생성 (0을 포함하고, 추가로 A, B를 제외함) possible_chars = '0123456789' # 중복을 제거한 후 리스트로 변환 possible_numbers = list(permutations(possible_chars, 3)) def feedback(guess, real): strike = 0 ball = 0 for i in range(3): if guess[i] == real[i]: strike += 1 elif guess[i] in real: ball += 1 return strike, ball def refine_possible_numbers(possible_num..

일상의 잡다한 2024.03.16

숫자야구가 생각나서

최근 저는 구글 플레이 스토어에서 '아이큐 야구 - 고난도 숫자야구'라는 게임을 발견하고 설치해 보았습니다. 이 게임은 제가 알던 숫자야구 게임과는 달리 4자리 숫자에 'A', 'B'까지 추가하여 난이도를 대폭 상승시킨 버전이었습니다. 기존의 숫자야구 게임보다 훨씬 까다로워져, 제 능력만으로는 금방 해결하기 어려워 보였습니다. 이에 따라, 저는 코드를 작성하여 이 문제를 해결하기로 마음먹었습니다. 프로그래밍에 대한 지식이 많지 않음에도 불구하고, 생성형 인공지능의 도움을 받아 다음과 같은 파이썬 코드를 작성했습니다. from itertools import permutations import random # 가능한 모든 4자리 숫자 조합 생성 (0을 포함, 추가로 A, B를 포함) possible_char..

일상의 잡다한 2024.03.16