-
programmers.co.kr/learn/courses/30/lessons/42839#
코딩테스트 연습 - 소수 찾기
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 �
programmers.co.kr
문제 설명
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.
각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.
경우의 수를 모두 구하고 가능한 소수를 만들어내서 비교해서 return했다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersfrom itertools import permutations def eratos(number): number += 1 #이렇게 하면 number로 넘겨준 수 자체도 소수인경우 출력이됨 initA = [True] * number limitN = int((number ** 0.5)) + 1 for i in range(2,limitN): if initA[i] == True: for j in range(i+i, number, i): initA[j] = False return [i for i in range(2, number) if initA[i]==True] def solution(numbers): answer = 0 nums = [] for idx in range(1,len(numbers)+1): nums.extend([int(''.join(i)) for i in permutations(numbers,idx) if i[0] !='0']) nums = set(nums) target = eratos(max(nums)) return len(nums & set(target)) 에라테스토네스의 체는 예전에 미리 구현해놓은게 있다.
에라테스토네스의 체
https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전...
weejw.tistory.com
위지원데이터와 관련된 일을 모두 좋아합니다
'2020년 > 코테' 카테고리의 다른 글
[코테 연습] 큰 수 만들기 (0) 2020.10.18 [프로그래머스 lv2, lv3 을 풀자!] 삼각 달팽이 (0) 2020.10.18 [프로그래머스 Lv1,Lv2 다풀기 프로젝트] 2016년 (1) 2020.10.03 [leetcode 추석맞이 3문제] minimum-absolute-, differencerepeated-dna-sequences, pseudo-palindromic-paths-in-a-binary-tree (0) 2020.10.01 [codility] 몸풀이용 문제 3개(BinaryGap, CyclicRotation, OddOccurrencesInArray) (0) 2020.09.28