[BOJ] 1547. 공

Jimeaning·2023년 4월 11일
0

코딩테스트

목록 보기
77/143

Python3

문제

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

키워드

  • 구현

문제 풀이

문제 요구사항

  • 컵 3개는 맨 왼쪽 컵부터 순서대로 1번, 2번 3번이다.
  • 1번 컵의 아래에 공을 하나 넣는다.
  • 두 컵을 고른 다음, 그 위치를 맞바꾼다.
  • 컵의 위치를 총 M번 바꿀 것이다
  • 위치를 M번 바꾼 이후에 공이 들어있는 컵의 번호를 구해야 한다.

변수 및 함수 설명

m: 컵의 위치를 바꾼 횟수
ball: 공이 현재 있는 위치이다. 시작할 때는 첫 번째에 있다.
x, y = 두 컵의 위치를 서로 바꾼다

로직

  • m번의 횟수만큼 반복한다
  • 처음 공은 1번 컵에 있으므로 ball 변수에 1을 넣는다
  • x, y를 입력받는다
  • 만약 ball 변수와 x 값이 같으면 ball에 y를 넣어 공의 위치를 바꾼다
  • 만약 ball 변수와 y 값이 같으면 ball에 x를 넣어 공의 위치를 바꾼다

문제 1번 예시
3 1
2 3
3 1
3 2
공의 위치를 '숫자b'로 표현
1b 2 3
1 2 3b
1 2b 3
1 2b 3
1 2 3b
=> 3

최종 코드

m = int(input())
ball = 1

for i in range(m):
    x, y = map(int, input().split())
    
    if ball == x:
        ball = y
    elif ball == y:
        ball = x

print(ball)
profile
I mean

0개의 댓글