본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 2][Python] 17201번 : 자석 체인

by 빛밤하늘 2021. 4. 13.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

17201번: 자석 체인

현재 주어진 자석의 상태를 보고 모두 연결되어있으면 "Yes", 모두 연결되어 있지 않은 상태라면 "No"를 한 줄에 출력한다. 단, 출력할 경우엔 인용 부호("")를 생략해야 하며 대소문자를 맞춰야 한

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫 번째 줄에 자석의 개수 N을 입력합니다.
# 3 <= N <= 5
N = input()

# 두 번째 줄에는 자석의 현재 연결 상태를 입력합니다.
# 1은 (+)극, 2는 (-)극입니다.
a2N = input()

# 자석의 연결 상태를 저장하는 변수를 선언합니다.
# 자석 한 개라도 뒤집혀 있으면 No로 바꿀 것이기 때문에
# 처음에는 Yes로 초기화합니다.
connected = "Yes"

# 연결된 자석의 상태의 하나의 자석에서 첫 번째 극이 다 똑같은지 하나라도 다른게 있는지 보면 됩니다.
# 입력받은 자석의 상태에서 한 자석의 첫 번째 극만 생각하면서 반복해봅니다.
for index in range(0, len(a2N)-2, 2):
    # 현재 자석의 첫 번째 극과 그 뒤에 있는 자석의 첫 번째 극이 다른 극이라면
    if a2N[index] != a2N[index+2]:
        # 자석이 분리되므로 연결 상태를 No로 바꿔줍니다.
        connected = "No"
        # 하나라도 분리된 상태가 있었으니 반복문을 탈출합니다.
        break

# 연결 상태를 출력합니다.
print(connected)

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글