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

누에보Nuevo님의 프로필 이미지
누에보Nuevo

작성한 질문수

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

백준 2503 숫자야구 문제 어떤 부분이 잘 못되었는지 모르겠습니다

해결된 질문

작성

·

466

·

수정됨

1

강의를 본 후에 아래와 같이 코드를 작성한 후

백준에 제출했는데 왜 틀렸는지 이유를 모르겠습니다

 

N= int(input())

hint = [list(map(int,input().split())) for _ in range(N)]

answer =0
for a in range(1,10):
    for b in range(10):
        for c in range(10):

            if(a==b or b==c or a==c):
                continue

            cnt =0
            
            for arr in hint:
                number = list(str(arr[0]))
                ball = arr[1]
                strike = arr[2]

                ball_count = 0
                strike_count =0

            
                if(a== int(number[0])):
                    strike_count+=1
                if(b== int(number[1])):
                    strike_count+=1
                if(c== int(number[2])):
                    strike_count+=1
                
                if(a== int(number[1]) or a == int(number[2])):
                    ball_count+=1
                if(b== int(number[0]) or b == int(number[2])):
                    ball_count+=1
                if(c== int(number[1]) or c == int(number[0])):
                    ball_count+=1

                if ball_count == ball and strike_count == strike:
                    cnt += 1

            if cnt == N:
                answer=+1

print(answer)

답변 1

1

코딩 센세님의 프로필 이미지
코딩 센세
지식공유자

  1. 해당 문제에서 100이나 120 같은 숫자 0이 포함되지 않아서 그렇습니다 :)

     

image

  1. strike와 ball을 반대로 입력 받았습니다.

 for arr in hint:
                number = list(str(arr[0]))
                ball = arr[1] <-- strike로 수정
                strike = arr[2] <-- ball로 수정

 

  1. 마지막에 오타가 있습니다.

 if cnt == N:
                answer=+1 <-- "answer+=1"로 수정해주세요!

감사합니다 ㅎㅎ

 

( 왜 제 눈에는 안보였을까요ㅠㅠ 다음에는 꼼꼼하게 확인하겠습니다!)

코딩 센세님의 프로필 이미지
코딩 센세
지식공유자

저도 자주 실수해요! 괜찮습니다 ㅎㅎ

누에보Nuevo님의 프로필 이미지
누에보Nuevo

작성한 질문수

질문하기