목록2023/12/11 (4)
연습장
문제 해석 기존의 로또와 다르지만 아무튼 문제를 풀어보자면 lottos : 구입한 로또 번호 win_nums : 당첨된 로또 번호 0 -> 알수 없는 숫자 0 이 아닌 숫자에 대해서는 고정된 값이며 0 에는 어떤 숫자든지 들어갈수 있고 이를 이용하여 최고 순위, 최저 순위를 예상해보자는 문제이다. 풀이 방법 1. 0 의 갯수를 확인한다. 2. 0을 뺀 나머지 숫자중에서 몇개가 일치하는지 확인한다. 3. 최고와 최저에 대해서 계산해본다. 순위를 매기는 방법을 보니까 6개가 일치하면 1등 5개가 일치하면 2등 만약 7에서 일치할때마다 1씩 뺸다면 다음과 같이 순위를 매길 수 있으며 확정된 숫자에 대해서 먼저 순위를 매기고 나머지 0의 갯수만큼 예상 순위 처리를 해주면 된다. + 전부다 틀릴경우 7위가 되게 ..
문제 해석 babbling 의 원소를 "aya", "ye", "woo", "ma" 를 활용하여서 만들 수 있는지? 단 연속해서 사용하면 안된다. ayaye = aya + ye -> o uuu = x yeye = ye + ye -> 연속 -> x yemawoo = ye + ma + woo -> o ayaayaa = aya + aya + a -> x 풀이방법 1. babbling 의 원소를 하나씩 가져온다 2. 원소가 "aya", "ye", "woo", "ma" 를 이용하여 만들 수 있는지 확인한다. def solution(babbling): answer = 0 # 1. 하나씩 꺼내온다 for word in babbling: # 2. replace 를 통해 변환하여 확인한다. word = word.repla..
문제 해석 [1번기사, 2번기사, 3번기사, 4번기사, 5번기사] 각각에 대해 약수의 값은 고정이다. -> [1 , [1,2] , [1,3] , [1,2,4], [1,5] ] 그 약수의 갯수를 다음과 같이 나타내며 -> [1, 2, 2, 3, 2] 이때 limit 의 값이 원소의 값보다 클 경우 -> 원소의 값을 power 로 대체한다. 예2 를 통해 다시 이해해보자면 각각의 약수는 다음과 같고 [1, [1,2], [1,3], [1,2,4], [1,5], [1,2,3,6], [1,7], [1,2,4,8], [1,3,9], [1,2,5,10] ] 갯수는 다음과 같으며 -> [1, 2, 2, 3, 2, 4, 2, 4, 3, 4] limit 가 3 이므로 3보다 큰 원소에 대해서 power 값인 2로 대체한다..
문제 해석 1. nums 의 길이의 절반만큼 선택을 할 수 있다. 2. 최대한 원소를 다양하게 뽑았을때의 값이 result 풀이 방법. 1. 몇개를 뽑아야하는지? ( N 개) 2. 중복을 제거한 nums 의 새로운 배열의 길이가 (L 일때) 2-1. 길이가 갯수보다 클 경우 -> N 2-2. 길이가 갯수보다 작을 경우 -> L def solution(nums): # 1. 갯수 N = len(nums)/2 # 2. 중복제거 unq_nums = set(nums) L = len(unq_nums) # 2-1, 2-2 비교 if L >= N : return N else: return L