find_smallest_integer_divisor 라는 이름의 함수를 구현해 주세요.
find_smallest_integer_divisor 함수는 하나의 parameter를 받습니다. Parameter 값은 integer만 주어집니다. find_smallest_integer_divisor 주어진 parameter 값을 나눌 수 있는 1을 제외한 최소의 양의 정수를 리턴하여야 합니다.
원리 : div_list라는 빈 리스트를 만들고 1에서부터 임의의 숫자 numb까지 while문을 동작시켜 약수를 리스트에 담는다. 그렇다면 numb의 약수가 담긴 리스트(div_list)가 만들어진다. 만들어진 리스트의 첫 번째는 무조건 1이므로 div_list[2]를 리턴하면 1을 제외한 최소약수가 구해진다.
원리 : 1보다 커야하므로 i값을 2부터 시작한다. while과 != 이용해
같지않으면(!=) 1씩 커지게 해서 최소약수값이 나오면 while loof가 끝나게 되고 이를 리턴해주는 방식이다.
리스트나 쓸데없는 약수를 다 담아서 찾는 복잡한 방식이 아니라 간결하게 몇 줄만으로 끝내고 속도도 훨씬 빠른 코딩이다. 돌아서 생각하지말고 직관적인 해결법을 찾도록 노력해야겠다. 아무래도 이전단원이 list단원이 많다보니 나도 모르게 solution을 리스트로 찾는 방식을 쓰고있었나보다.