상세 컨텐츠

본문 제목

백준 1644: 소수의 연속합 (Swift) 풀이 2

Swift알고리즘

by 앱등개발자IOS 2022. 8. 13. 16:09

본문

몇 달 전에 풀이했던 문제이지만, 다시 한 번 풀어보며 새롭게 작성한 코드가 있어 이 글을 작성하게 되었다.

 

크게 다른 점은 없다. 

이전 풀이에서는 is_prime 배열에 각 숫자가 소수(prime)인지 아닌지를 Bool 형태로 판별하면서 바로바로 prime number만 모아놓을 배열에 append해주었다.

하지만 여기서는 소수 판별만 단독으로 진행한 후, 

1. filter고차함수를 사용하여 is_prime값이 true, 즉 소수인 숫자들만 걸러내어 새로운 배열 prime을 생성하였다.

2. Swift의 반복문 for i in a ... b 혹은 for i in a ..< b는 a > b인 경우 fatal error를 일으킨다. 

    따라서 a > b인 경우 오류를 뱉지 않고, 실행 없이 지나가주는 stride(from, through혹은 to, by)를 사용하였다.

관련글 더보기