https://programmers.co.kr/learn/courses/30/lessons/42839?language=java 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 1. IsPrime(number) 에라토스체네스의 체를 이용한 소수찾기 메서드 입니다 2 ~ 루트n 까지의 숫자를 돌면서 n 을 나눌 수 있는지 확인합니다. 만약 2 로 n 을 나눌 수 없다면 n 은 소인수로 2 를 가지지 않는다는 것을 의미합니다. 또한 2의 모든 배수는 소수가 아니기 때문에 2 ~ 루트n 까지의 모든 2..
https://programmers.co.kr/learn/courses/30/lessons/42840?language=java 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Solution { public Integer[] solution(int[] answers) { int[] score = {0, 0, 0}; int[] student1 = {1, 2, 3, 4..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cpdcTp/btrpmhiu7iz/FLkgobOBotCz4X9lZ35zXK/img.jpg)
https://programmers.co.kr/learn/courses/30/lessons/42884?language=java 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr Greedy 알고리즘은 부분적인 최적해를 계속 확장 시켜서 전제적인 최적해를 찾는 알고리즘 입니다. 해당 문제는 자동차 route 가 추가 됐을때, 계속 최소한의 카메라 개수를 유지하도록 부분적인 최적해를 설계하면 모든 자동차 route 를 추가했을때도 전체적으로 최적해를 구할 수 있습니다. 또한 무제를 쉽게 풀기 위해 다음과 같은 한가지 사실을 반드시 확인해야 합니다. 고속도로에서 먼저 나가는 순서대로 자동차가 추가됐을때 추가된 자동차를 ..
https://programmers.co.kr/learn/courses/30/lessons/42861?language=java 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr Greedy 알고리즘은 부분적인 최적해를 계속 확장 시켜서 전제적인 최적해를 찾는 알고리즘 입니다. 연결할 노드 A, B와 비용 c가 들어있는 costs 배열이 주어졌을때, 비용 c 를 들여 노드 A, B 를 연결해야 하는지를 판단하는 부분이 핵심입니다. 만약 두개의 노드가 이미 직접적으로든/ 혹은 우회적으로든 연결되어 있다면, 굳이 추가 비용을 들여 A,B 를 연결할 필요가 없습니다. 반면 노드 A, 노드 B 가 서로 다른 노드와는 ..