알고리즘 문제들 으악/백준

[python]2839번, else의 새로운 면모

빈나 2022. 4. 2. 19:15
반응형

이 문제를 풀면서 else에 관해 새로운 사실을 알았다.

전까지는 if와 else만 쌍으로 관계가 성립 되는줄 알았다. 그러나 for문과도 관계가 있었다.

a = int(input())
for d in range(a//3+2):
    b = a
    b -= 3*d
    if b%5==0:
        print(d+b//5)
        break
else:
    print(-1)

여기서 b%5==0을 만족하는 값들은 else를 건너뛰고 나머지 것들은 print(-1)출력해서 if와 영역은 다르지만,

그래두 서로 관계가 성립 된 줄 알았다. 그래서 내가 생각한게 맞는지 질문글을 올렸다.

 

아니었다

if와는 전혀 상관 없이, for문에서 break가 안되는 값들만 else가 받는 거였다.

근데 break가 일어나기 위해서는 if가 필요하기에 내가 착각한 것 같았다.

새로운거 배워서 급하게 기록해 본다.

반응형