내일배움캠프

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은 여기서 마치도록 하겠다