본문 바로가기
반응형

에라토스테네스의체2

프로그래머스 - 소수 찾기 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제 풀이 numbers의 최대 길이가 7이므로 모든 경우의 수를 탐색하여도 주어진 시간제한 내에 풀 수 있다. 숫자들로 이루어진 모든 수를 만들려면 조합이 필요하므로 set과 next_permutation을 사용한다. "012"로 [0, 1, 2, 12, 21, 102, 120, 201, 210]와 같이 만들어야 하므로 자릿수만큼 .. 2022. 2. 6.
C++ - 소수 판별 / 단순 브루트포스, 에라토스테네스의 체 문제 1 : https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 해당 문제는 범위가 10,000 이하의 자연수이며 시작값과 끝값 중에 존재하는 소수를 모두 더한 값과 최솟값을 출력하면 된다. 따라서 단순 브루트포스로 isPrime 함수를 구현한다. 1과 n이 아닌 다른 값으로 나누어 떨어지면 false를 반환, 그렇지 않다면 소수이므로 true를 반환한다. 이렇게 소수를 판별할 수 있고, 소수로 판별된 값은 total에 모두 더하며 최솟값을 계속 갱신해준다... 2021. 10. 12.
반응형