목록2023/12/15 (2)
연습장
2 부터 n 까지 각 숫자가 소수인지 판단해야된다. 간단하게 생각해보면 1. 소수인지 아닌지 판단하는 함수를 만든다. 2. n 보다 작은 수에 대해서 1의 함수를 각각 적용하여 갯수를 샌다 로 다음과 같다. # 소수인지 확인하는 함수 def prime_num(n): for i in range(2,n): if n%i == 0: return 0 return n def solution(n): answer = 0 for i in range(n+1): if prime_num(i) > 1: answer +=1 return answer 그러면 예상하는 바와 같이 시간초과에 걸리게 된다. 현재 for 문을 2번 사용해서 시간 복잡도가 O(n^2) 정도 된다. 이와 관련된 해결방법으로 '3. 기사단원의 무기' 라는 글에..
goal 에 있는 원소인덱스로 번호를 매긴다면 예제1. cards1 = [0,3,4] cards2 = [1,2] 예제2. cards1 = [0,4,3] cards2 = [1,2] 예제 2의 cards 의 순서가 0 -> 4 -> 3 으로 진행되므로 No 가 된다. 1. goal 의 원소를 빼서 각 cards 를 숫자(goal 의 인덱스)로 바꾼 후 2. cards 의 숫자가 오름차순으로 진행되는지 확인한다 1의 경우 list.index('해당문자') 로 확인 할 수 있다. def solution(cards1, cards2, goal): answer = '' for word1 in cards1: print(goal.index(word1)) return answer 다음과 같이 card1 의 원소가 goal..