본문 바로가기
Codingtest

[프로그래머스][파이썬] #12. 조건에 맞게 수열 변환하기 2

by Joshuuakeem 2023. 8. 18.

📝 문제

출처 : 프로그래머스 조건에 맞게 수열 변환하기( https://school.programmers.co.kr/learn/courses/30/lessons/181881 )

 

 

✔️ 풀이

from copy import deepcopy
def solution(arr):
    c = 0
    before_arr = deepcopy(arr)
    while True:
        for i, a in enumerate(arr):
            if a >= 50 and a % 2 == 0:
                arr[i] //= 2
            elif a < 50 and a % 2:
                arr[i] = arr[i] * 2 + 1

        if before_arr == arr:
            return c

        before_arr = deepcopy(arr)
        c += 1

 

 

✏️ 배운점

공희찬님의 풀이를 참고하였다.

조건에 맞게 수열 변환하기 1의 심화 버전인데 deepcopy를 이용하여 배열을 복사하여 arr(x) = arr(x+1)을 찾을 수 있었다.

 

출처 - 프로그래머스 (https://school.programmers.co.kr/learn/courses/30/lessons/181881)

반응형