안녕하세요. 플랫폼공작소입니다.코딩 테스트에서 자주 등장하는소수 구하기 문제에 대해서 알아보겠습니다. 실무자에게 이런 암기 문제를 손코딩으로 내는건뭐랄까..회사의 첫 인상을 안 좋게 만드는 요소라고 생각합니다. 채용에고민이 없었거나MSA 도입, SQL 튜닝에 대한 여유가 없다는 것을 반증하는 것이죠.
애초에 수학과 대학원생에게 근의 공식을 물어보는 것이랄까.. 아무튼 암기를 안 하면 시간을 까먹는 요소가 되니 이번 기회에 알아보도록 합시다.
1. 소스코드 구현 아이디어
- 1을 제외하고 자기 자신으로 한 번만 나눠져야 소수
2. 소스코드 공개!
- 아래의 소스코드는 소수를 구하는 가장 간결한 코드가 아닐까 생각합니다.
public class decimalTest { public static void main(String[] args) { int count=0; for(int i=2; i<=100; i++){ for(int j=2; j<=i; j++){ if(i%j == 0){ count ++; } }
// 핵심 : 1을 제외하고 자기 자신으로 한 번만 나눠질때 소수 if(count==1){ System.out.print(i+" "); } count=0; } } }