def solution(answers):
answer = []
temp = []
supo1 = 0
supo2 = 0
supo3 = 0
one = [1,2,3,4,5]
two = [2,1,2,3,2,4,2,5]
three = [3,3,1,1,2,2,4,4,5,5]
for i in range(len(answers)): #문제의 갯수만큼 루프
if answers[i] == one[i%len(one)]: #5%5=0,6%5=1이니까 순서가 반복됨
supo1+=1
if answers[i] == two[i%len(two)]:
supo2+=1
if answers[i] == three[i%len(three)]:
supo3+=1
temp = [supo1, supo2, supo3] #각각 사람이 맞춘 갯수 리스트
for person, score in enumerate(temp):
if score == max(temp): #가장 높은 점수와 같으면
answer.append(person+1) #인덱스가 0이면 1번째 사람이니까 더하기
return answer
#enumerate: 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력받아
# 인덱스 값을 포함하는 enumerate 객체 리턴 코드를 입력하세요
from itertools import permutations
def solution(numbers):
answer = 0
strList = list(numbers) #일단 1의 자리수로 들어감
#print("=======")
for i in range(2,len(numbers)+1): #길이 2부터 하기 위해
#numbers로 만들 수 있는 i길이인 순열을 리턴해줌
permu = list(permutations(numbers,i))
#print(str(permu))
for j in permu:
if len(j) <=len(numbers):
strList.append(''.join(j)) #리스트를 스트링으로''.join
strList=list(set([int(n) for n in strList])) #중복제거
#1과 0은 소수가 아니다
if strList.count(1):
strList.remove(1)
if strList.count(0):
strList.remove(0)
#소수판별: X를 2부터 x의 제곱근까지의 숫자만 나누어 떨어지는지 확인
#나누어 떨어지면 소수가 아님
for num in strList:
i = 2
while i*i <=num:
if num % i == 0:
answer -=1
break
i+=1
answer +=1
return answer
def solution(brown, yellow):
answer = []
#brown+yellow = 가로*세로
total = brown + yellow
temp = []
for i in range(3,int(total/3)+1):
#3이상의 수면서 곱해서 전체갯수되는 리스트 만들기
if total % i == 0:
temp.append(i)
print(temp)
#temp리스트를 양 끝에서부터 하나씩 좁혀서 경우가 맞을 경우 해당 요소가 가로세로
for i in range(len(temp)): #i는 temp의 맨 첫번째 부터 시작
j = len(temp)-1-i #j는 맨 뒷번째로 시작
#가로세로가 곱하면 total(전체개수)면서
#노랑색은 해당 조건이어야함(case3이 통과가 안됨)
if temp[i]*temp[j]==total and (temp[i]-2)*(temp[j]-2)==yellow:
answer.append(temp[j])
answer.append(temp[i])
break
j-=1
return answer
brown 24 yellow 24 경우 print(temp) 실행시