[COS PRO 2급-Python] 엘리베이터의 총 이동 거리 구하기

Sunhee·2023년 4월 12일

COS PRO - Python 2급

목록 보기
16/44
post-thumbnail

[COS PRO 2급-Python] 엘리베이터의 총 이동 거리 구하기

문제 설명

하루 동안 엘리베이터가 멈춘 층이 순서대로 들어있는 배열이 있습니다.
이때, 엘리베이터의 총 이동거리를 구하려 합니다.
단, 층과 층 사이의 거리는 1입니다.


예를 들어 배열에 [1,2,5,4,2]가 들어있다면, 엘리베이터가 이동한 거리는 7입니다.
하루 동안 엘리베이터가 멈춰 선 층이 순서대로 들어 있는 배열 floors와 floors의 길이 floors_len이 매개변수로 주어질 때, 엘리베이터의 총 이동 거리를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.



매개변수 설명

하루 동안 엘리베이터가 멈춘 층이 순서대로 들어있는 배열 floors와 floors의 길이 floors_len이 solution 함수의 매개변수로 주어집니다.

  • floors_len은 2 이상 100 이하의 자연수입니다.
  • floors의 원소는 1 이상 100 이하의 자연수이며, 인접한 두 원소의 값이 같은 경우는 주어지지 않습니다.
  • floors의 첫 번째 우너소는 엘리베이터의 처음 위치를 나타냅니다.



return 값 설명

엘리베이터의 총 이동 거리를 return 해주세요.


예시



알고리즘 구상

▶ 인덱스 1부터 시작하여 0과 1를 비교하며 시작한다!
▶ floors[i] 와 floors[i-1]를 비교해서 엘리베이터의 값을 구해보자!


내가 쓴 코드!


def solution(floors):
	dist = 0
	length = len(floors)
	for i in range(1, length):
		if floors[i] > floors[i-1]:
			dist += floors[i] - floors[i-1]
		else:
			dist += floors[i-1] - floors[i]
	return dist



느낀점

설명이 길어서 어려워 보였는데 막상 푸니 어려운 문제는 아니였다! 앞으로 설명이 길다고 겁 먹지말고 도전해보자!


0개의 댓글