Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
자연수가 들어있는 리스트가 주어질 때, 다음 규칙에 따라 새로운 리스트를 만들려고 합니다.
- 주어진 리스트의 첫 번째 원소를 새로운 리스트의 첫 번째 원소에 넣습니다.
- 주어진 리스트의 마지막 원소를 새로운 리스트의 두 번째 원소에 넣습니다.
- 계속해서 주어진 리스트의 남아있는 원소중 가장 앞에있는 원소와 가장 뒤에있는 원소를 번갈아 가져와 새로운 리스트에 순서대로 넣습니다.
- 주어진 리스트에 더이상 원소가 남아있지 않을 때까지 위 과정을 반복합니다.
자연수가 들어있는 리스트 arr가 매개변수로 주어질 때, 위 과정을 수행해서 만든 새로운 리스트를 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
자연수가 들어있는 리스트 arr가 solution 함수의 매개변수로 주어집니다.
- arr의 길이는 1 이상 1,000 이하입니다.
- arr의 원소는 1 이상 10,000 이하의 자연수입니다.
return 값 설명
문제에 주어진 과정을 수행해서 만든 새로운 리스트를 return 해주세요.
예시
예시 설명
처음에 주어진 리스트는 [1, 2, 3, 4, 5, 6]입니다.
주어진 규칙에 맞게 새로운 리스트를 만드는 과정은 다음과 같습니다.
풀이
풀이 코드 및 해설
def solution(arr):
left, right = 0, len(arr) - 1
idx = 0
answer = [0 for _ in range(len(arr))]
while left <= right: # left 값이 right 값을 넘을때까지 반복
if idx % 2 == 0: # 만약 idx가 짝수인 경우
answer[idx] = arr[left] # left 인덱스를 answer 리스트에 저장
left += 1 # left 인덱스 증가
else: # 만약 idx가 홀수인 경우
answer[idx] = arr[right] # right 인덱스를 answer 리스트에 저장
right -= 1 # right 인덱스 증가
idx += 1 # idx 증가 시켜 answer의 다음 요소에 추가할 수 있도록 함
return answer
# 위 코드를 통해 0번6번1번5번2번3번 식으로 배열의 인덱스를 저장할 수 있음
'Certificate > Cert - Cos Pro 1급' 카테고리의 다른 글
[Cos Pro 1급] 기출문제 2회차, 0들을 0으로 만들기 (0) | 2021.07.14 |
---|---|
[Cos Pro 1급] 기출문제 2회차, 비밀번호 검사 (0) | 2021.07.14 |
[Cos Pro 1급] 기출문제 2회차, 거스름돈 구하기 (0) | 2021.07.14 |
[Cos Pro 1급] 기출문제 2회차, 로봇을 움직여주세요 (0) | 2021.07.14 |
[Cos Pro 1급] 기출문제 2회차, 언제까지 오르막길이야 (0) | 2021.07.14 |