Practice Loops with the exercise "The Descent"
Want to practice coding? Try to solve this easy puzzle "The Descent" (25+ languages supported).
www.codingame.com
반복문으로 가장 높은 산을 파괴하라
목표 : 우주선이 산에 충돌하지 않도록 가장 높은 산부터 차례대로 파괴하세요
규칙
승리 조건
패배 조건
게임의 입출력 값
풀이
while True:
for i in range(8):
mountain_h = int(input()) # represents the height of one mountain.
# Write an action using print
# To debug: print("Debug messages...", file=sys.stderr, flush=True)
# The index of the mountain to fire on.
print("4")
제공된 코드는 무한 루프에서 턴마다 8개의 입력 값을 받고 1개의 출력 값을 내보내는 구조이다. 턴 마다 입력 받은 값 중 가장 높은 값의 산의 위치를 출력하면 된다. 하지만 현재 코드에서는 항상 4번 인덱스만 출력하도록 되어 있다.
이 문제를 해결하기 위해서는 조건문과 최댓값을 구하는 알고리즘이 필요하다.
가장 큰 값을 구하기 위해 0번 인덱스의 숫자부터 하나씩 가져와 큰 숫자의 인덱스를 남기고 그 다음 인덱스를 가져와 비교한 뒤 큰 값을 나두고 그 다음 인덱스를 비교하는 작업을 반복해서 수행해야 한다.
따라서 문제를 해결하기 위해서는 다음과 같은 과정이 필요하다.
코드
while True:
max_h = 0 #가장 높은 산의 높이를 저장할 변수
max_index = 0 #가장 높은 산의 인덱스를 저장할 변수
for i in range(8): # 턴 마다 8개의 입력 값을 받는다.
mountain_h = int(input())
if mountain_h > max_h: #입력 받은 값이 현재까지의 값보다 크면
max_h = mountain_h #값을 변경한다.
max_index = i
print(max_index)
Stock exchange losses (1) | 2022.09.19 |
---|---|
Temperatures (0) | 2022.09.14 |