https://school.programmers.co.kr/learn/courses/30/lessons/181881
이 문제는 무한 반복 안에서 문제에서 주어진 조건을 반복하다가 새로 선언한 배열에 아무런 변화가 없을 때 그 중 가장 작은 반복횟수를 리턴해야 하는 문제이다.
따라서 반복횟수를 count할 answer를 선언한 후에 while True로 무한 반복문을 통해 새로운 배열 next를 선언한 후 주어진 arr배열에서 원소를 판별해야 하기 때문에 for i in arr와 if~elif~else문을 이용해 조건에 맞는 i를 next에 append를 해주면 된다. 여기서 문제에서 주어진 조건은 50보다 크거나 같으면서 짝수일 때, 50보다 작으면서 홀수일 때 2개 밖에 없지만 그 외의 경우도 존재하기에 그럴 때는 i의 아무런 변화를 주지 않고 append를 해주면 된다.
그 후 for 반복문을 빠져나왔을 때 arr == next가 같다면 배열에 아무런 변화도 없다는 것이기에 return answer를 해주고 아니라면 arr = next를 해주는데 변화가 있는 배열을 arr에 넣어주는 것이고 한번 바뀐것이기에 answer += 1를 해주면 된다.
'프로그래머스 > 프로그래머스 Lv0' 카테고리의 다른 글
Lv0 특수문자 출력하기 (0) | 2024.06.29 |
---|---|
Lv0 qr code (0) | 2024.06.29 |
Lv0 커피 심부름 (0) | 2024.06.28 |
Lv0 이진수 더하기 (0) | 2024.06.28 |
Lv0 소인수분해 (0) | 2024.06.28 |