내일배움캠프
240328-TIL
공정여행
2024. 3. 28. 20:47
3월 28일
오늘은 소수 만들기 알고리즘 문제를 풀었다.
소수 만들기
더보기







문제 설명이다

항상 쪼개서 생각해야한다 소수를 구하는건 뒤로 미루고 nums에 들어있는 수중에서 3개씩 더하는 경우의 수를
구해보자

일단 반복문을 3개 만들어주자
처음은 0부터 시작해서 nums의 길이만큼 두번째는 0+1 부터 시작해서 nums의 길이만큼
마지막은 1+1로 시작해서 nums의 길이만큼
그러면 nums에 숫자가 몇개가 들어있던 [0,1,2], [0,1,3] [0,1,4]....... 이렇게 세번씩 더해서 숫자 3개가 더해지는 모든 경우의 수를 표현할 수 있다

수를 더해줄 변수 하나를 만들어주자

prime에 뽑은 3개의 nums를 넣어주고 다시 한번 문제를 생각해보자
소수란? 1과 나 자신으로 밖에 나눌수 없는 수를 말한다. 다르게 생각하면?
2~ 나 자신보다 1작은 수 중에 하나라도 나눠지면? 그 숫자는 소수가 아니라는 말이다.

반복문 하나를 더 만들어서 2부터 prime보다 작을때까지 돌아주도록하자

그 다음에 prime을 o로 나눴을때 나눠진다면? 멈춰버리고 o가 prime -1만큼 수까지 나눠지지 않았다면?
answer을 1 증가시켜주도록 하자

끝
3월 28일 TIL은 여기서 마치도록 하겠다