해야겠지?

공부/파이썬

[Python] 엘리스코딩 파이썬 기초2 실력 확인 테스트 정답 (5)

jinyong 2023. 5. 16. 23:03
728x90
반응형

엘리스코딩 파이썬 기초2 실력 확인 테스트 5번 문제 정답

<문제>

당근 탐지기 - 땅 속에 숨겨져 있는 당근을 찾기 좋아하는 엘리스 토끼는 당근을 탐지할 수 있는 당근 탐지기를 가지고 왼쪽 혹은 오른쪽으로만 갈 수 있는 길이가 5인 길 어디인가에 떨어졌습니다.

예를 들어 아래와 같이 5칸으로 구성된 길이 있고 O 은 당근이 있는 곳, X 은 당근이 없는 곳이며 엘리스 토끼가 왼쪽에서 세번째 칸에 떨어졌다고 가정합니다. 이때 왼쪽 끝으로 이동하게 되면 총 1개의 당근을 획득할 수 있으며 오른쪽으로 이동한 경우 2개의 당근을 획득할 수 있습니다.

지시사항을 참고하여 코드를 작성하세요.

 

엘리스코딩 파이썬 기초2 실력 확인 테스트 문제5

 

1. 당근의 위치(OX문자열), 토끼의 위치(숫자) 를 input() 메서드로 변수에 담아준다.

2. O X X O O 의 형태로 공백으로 input() 을 받으면 공백이 포함된 리스트로 저장되므로, .split()으로 공백기준으로 나눠 리스트로 저장한 후  ''join() 메서드로 문자열로 바꿔준다.

3. 토끼의 위치가 맨 끝인 경우 (1, 5) 예외로 미리설정

4. 토끼와 당근의 상대적 위치에 따라 변수 설정 (left_carrot, right_carrot) 한 후 경우의 수를 if/else로 나눠준다.

 

carrot_position = ''.join(str(input()).split())
rabbit_position = int(input())

left_carrot = 0
right_carrot = 0

while True:
    if rabbit_position == 1:
        print("오른쪽")
        break
    if rabbit_position == 5:
        print("왼쪽")
        break

    for i in range(0, rabbit_position - 1):
        if carrot_position[i] == 'O':
            left_carrot = left_carrot + 1
    for i in range(rabbit_position, 5):
        if carrot_position[i] == 'O':
            right_carrot = right_carrot + 1

    if right_carrot > left_carrot:
        print("오른쪽")
        break
    elif left_carrot > right_carrot:
        print("왼쪽")
        break
    else:
        print("동일")
        break
728x90
반응형