WIL(10.17 ~ 10.22)

전성영·2022년 10월 17일
0

WIL

목록 보기
18/22

10.17

프로그래머스 소수찾기를 풀다가 에라토스테네스의 체 라는 알고리즘을 알게되었다.

에라토스테네스의 체 원리

  • 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다.
  • 2는 소수이므로 오른쪽에 2를 적고 자기 자신을 제외한 2의 배수를 모두 지운다.
  • 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 적고 자기 자신을 제외한 3의 배수를 모두 지운다.
  • 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 적고 자기 자신을 제외한 5의 배수를 모두 지운다.
  • 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 적고 자기 자신을 제외한 7의 배수를 모두 지운다.
  • 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다.
void primeNumberSieve() {

    // 1. 배열을 생성하여 초기화한다.
    for(int i=2;i<=number;i++) {
        a[i] = i;
    }

    // 2. 2부터 시작해서 특정 수의 배수에 해당하는 수를 모두 지운다.
    // (지울 때 자기자신은 지우지 않고, 이미 지워진 수는 건너뛴다.)
    for(int i=2;i<=number;i++) {
        if(a[i]==0) continue; // 이미 지워진 수라면 건너뛰기

        // 이미 지워진 숫자가 아니라면, 그 배수부터 출발하여, 가능한 모든 숫자 지우기
        for(int j=2*i;j<=number; j+=i) {
            a[j] = 0;
        }
    }

    // 3. 2부터 시작하여 남아있는 수를 모두 출력한다.
    for(int i=2;i<=number;i++) {
        if(a[i]!=0) printf("%d ", a[i]);
    }
}

Reference
여기

10.18

application.properties를 commit후에 ignore를 하고싶을 때

매번 구글링을 하게되서 블로그에 정리하려고 한다.


이미 commit이 되어있다면 위 사진처럼 .gitignore에 추가해주어도 없어지지 않는다.

따라서 아래 명령어래 캐시를 삭제해주어햐 한다.
git rm --cached D:/Git/Task/src/main/resources/application.properties

그 후 add, commit을 해주면 끝~

10.21

AUTO_INCREMENT : 데이터베이스 키 값을 자동으로 증가시켜준다.

10.22

code coverage에 관한 링크이다.
여기

profile
Slow and Steady

0개의 댓글