안녕하세요 ! Sooho입니다. 오늘도 코딜리티 문제를 풀어왔습니다! 혹시 잘못된 부분이 있다면 언제든지 댓글 달아주시면 확인 하겠습니다!
이전 코딩내용이 궁금하시다면 아래 링크로 이동하시면 됩니다!
코딜리티 이전글 -2020/07/13 - [파이썬] - [Codility] 코딜리티 1. Binary Gap (Python)
1. 문제 설명
-
답안은 solution(A, K)이라는 함수를 활용해서 답안을 작성하게 되어있습니다.
-
A는 N개의 정수들이 담긴 array입니다.
-
K는 A의 원소들을 우측으로 K번 이동시키는 것을 의미합니다.
-
return 값으로는 A의 원소들을 K번 옮긴 뒤 나온 결과가 되겠습니다.
-
예시
-
[1, 2, 3, 4, 5] -> [5, 1, 2, 3, 4]
[5, 1, 2, 3, 4] -> [4, 5, 1, 2, 3][4, 5, 1, 2, 3] -> [3, 4, 5, 1, 2]
2. 1차 풀이
def solution(A, K):
count = 0
temp = 0
if len(A) == K:
return A
else:
while count != K:
temp = A[len(A)-1]
for i in range(len(A)):
if i != len(A)-1:
A[len(A)-1-i] = A[len(A)-i-2]
else :
A[0] = temp
count +=1
return A
-
이상없이 풀었다고 생각했으나 제출한 뒤 문제가 있었습니다.
-
문제는 A=[] 들어왔을 때, 예외조항이 없었습니다.
3. 2차 풀이
def solution(A, K):
count = 0
temp = 0
if len(A) == K or len(A) == 0 :
return A
elif len(A) != K and len(A) > 0 :
while count != K :
temp = A[len(A)-1]
for i in range(len(A)):
if i != len(A)-1:
A[len(A)-1-i] = A[len(A)-i-2]
else:
A[0] = temp
count +=1
return A
4. 결과
-
1차 풀이에서 떨어졌던 Score는 다시 올라오게 됬습니다.
-
내일은 또 다른 문제를 가지고 오겠습니다 ! 읽어주셔서 감사합니다.