sw사관학교 정글 2기/01 기초,재귀,완전탐색, 정렬
[완전탐색] 백준 2503번 숫자야구 with Python3
금의야행
2021. 8. 13. 10:01
https://www.acmicpc.net/problem/2503
2503번: 숫자 야구
첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트
www.acmicpc.net
문제
내 풀이
import sys
해설
정답 풀이
import sys
def game(x,s,b):
for i in range(123,1000):
if not arr[i]: continue
ss=0
bb=0
temp=str(i)
for j in range(3):
for k in range(3):
if x[j]==temp[k]:
if j==k: ss+=1
else: bb+=1
if not(ss==s and bb==b):
arr[i]=False
return 0
arr=[True]*1000
for i in range(123,1000):
temp=str(i)
if temp[0]==temp[1] or temp[1]==temp[2] or temp[2]==temp[0]:
arr[i]=False
if temp[0]=='0' or temp[1]=='0' or temp[2]=='0':
arr[i]=False
n=int(sys.stdin.readline())
for i in range(n):
num,strike,ball=map(int,sys.stdin.readline().split())
game(str(num),strike,ball)
cnt=0
for i in range(123,1000):
if arr[i]: cnt+=1
print(cnt)
출처: sw 사관학교 정글
해석
해석 예정