반응형 프로그래머스60 [파이썬🐍] 프로그래머스 : 타겟 넘버 def solution(numbers, target): answer_list=[0] for i in numbers: t_list=[] for j in answer_list: t_list.append(j+i) t_list.append(j-i) answer_list=t_list answer=answer_list.count(target) return answer 트리구조를 이용하여 해결하였다. 하나씩 더하고 빼고를 반복하여 최종으로 target과 같은 것을 세어준다. 모든 경우의 수를 헤아리는 방법이다. 2021. 5. 1. [파이썬🐍] 프로그래머스 : 최댓값과 최솟값 def solution(s): s=list(map(int,s.split(' '))) return '{} {}'.format(min(s), max(s)) 2021. 4. 30. [파이썬🐍] 프로그래머스 : 소수 찾기 from itertools import permutations def solution(numbers): answer = [] for i in range(1,len(numbers)+1): for j in permutations(list(numbers),i): jj=int("".join(j)) for k in range(2,jj): #소수 판별 if jj%k==0: #소수 아님 break else: if jj not in answer and jj!=0 and jj!=1: answer.append(jj) return len(answer) for ~ else 문 사용 : if 문의 break에 걸리지 않고 통과할 경우 else 문 실행 (즉 소수만 받겠다는 뜻) permutaions : 모든 경우의 수 찾기 2021. 4. 29. [파이썬🐍] 프로그래머스 : 가장 큰수 def solution(numbers): numbers = list(map(str, numbers)) numbers.sort(key = lambda x : x*3, reverse = True) return str(int(''.join(numbers))) 1. numbers의 수를 string 으로 변경 2. 수가 1~1000이기 때문에 *3을 통해 맞춰준다. 3. 문자열 비교는 ASKII값으로.. 4. return에서 int를 str로 다시 변환해주는 이유는 '000'을 처리해주기 위함 return "".join(numbers)로만 하면 테스트케이스 1개 실패 발생 2021. 4. 28. 이전 1 ··· 3 4 5 6 7 8 9 ··· 15 다음 반응형