Koala - 15기/기초 알고리즘 스터디

[BOJ/Python3] 15820번 맞았는데 왜 틀리죠?

synthcom 2024. 8. 5. 00:05

 

https://www.acmicpc.net/problem/15820

알고리즘 분류
구현

result = ['Wrong Answer','Accepted','Why Wrong!!!']
S1, S2 = map(int,input().split())

state = 1
lst1 = [list(map(int, input().split())) for _ in range(S1)]
for i in lst1:
    if state == 0:
        break
    if i[0] == i[1]:
        state = 1
    else:
        state = 0
        
lst2 = [list(map(int, input().split())) for _ in range(S2)]
if not state == 0:
    for i in lst2:
        if state == 2:
            break
        if i[0] == i[1]:
            state = 1
        else:
            state = 2
print(result[state])

문제풀이
상태 변수 설정(0 : 오답, 1 : 정답, 2 : 맞왜틀), 이에 맞춰 결과 리스트 설정
S1, S2를 입력
S1에 대해 샘플 테스트 케이스 리스트 lst1 생성
    lst1에서 각 샘플 테스트 케이스가 맞으면 상태변수에 1을 유지하고 다음 반복 실행, 틀리면 0을 저장하고 다음 반복에서 반복 중단
S2에 대해 시스템 테스트 케이스 리스트 lst2 생성
샘플 테스트에서 상태변수가 1인 경우에만 시스템 테스트 진행
    lst2에서 각 시스템 테스트 케이스가 맞으면 상태변수에 1을 유지하고 다음 반복 실행, 틀리면 2를 저장하고 다음 반복에서 반복 중단
result 리스트의 state 번호에 해당하는 결과 출력