본문 바로가기
반응형

전체 글162

[파이썬🐍] 프로그래머스 : 소수 찾기 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.
[파이썬🐍] 프로그래머스 : 기능 개발 처음 접근은 100%가 되기 위해 걸리는 날을 리스트로 따로 저장하는 것이었다. 그러나 너무 복잡해졌고 해결하지 못했다 ㅜㅜ 어제 오늘 고민하다가 서치를 통해 새로운 접근법을 발견했다. 처음 이코드를 봤을 때 너무 새로웠다. 변수를 하나 더 쓰면 복잡해질 것 같지만 사실 더 간단해질 수도 있다는 교훈을 얻었다. def solution(progresses, speeds): answer = [] days = 0 count = 0 while len(progresses) != 0: if progresses[0] + days * speeds[0] >= 100: progresses.pop(0) speeds.pop(0) count += 1 else: if count > 0: answer.append(count) co.. 2021. 4. 27.
[파이썬🐍] 프로그래머스 : 행렬의 곱셈 def solution(arr1, arr2): answer = [] for i in range(len(arr1)): temp_list=[] for j in range(len(arr2[0])): temp=0 for k in range(len(arr2)): temp+=arr1[i][k]*arr2[k][j] temp_list.append(temp) answer.append(temp_list) return answer 2021. 4. 26.
반응형