코딩 테스트/프로그래머스98 포켓몬 첫번째 코드 종류를 확인한 후 n//2개수보다 많으면 n//2를 출력하고그렇지 않으면 현재 있는 종류만큼 출력한다. def solution(nums): answer = 0 pocketmon = set(nums) if len(pocketmon) >= (len(nums)//2): answer = (len(nums)//2) else: answer = len(pocketmon) return answer 통과!링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/1845.%E2%80%85%.. 2024. 5. 30. 같은 숫자는 싫어 첫번째 코드 현재 위치의 값과 다음 위치의 값을 비교해가면서 같으면 넘어가고 아니면 정답에 포함한다! def solution(arr): answer = [] answer.append(arr[0]) now = arr[0] for i in arr: if i != now: answer.append(i) now = i return answer 통과!링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12906.%E2%80%85%EA%B0%99%EC%9.. 2024. 5. 29. 멀리 뛰기 첫번째 코드 def solution(n): count = 1 down = 1 for i in range(1, int(n/2)+1): up = 1 for j in range(i): up *= (n-i-j) down *= i count += up/down answer = count % 1234567 return answer 오류....두번째 코드 손으로 하나하나 써가다가 피보나치 같은 특성을 갖고 있음을 알았다.ap[i] = ap[i-1] + ap[i-2] 이렇게 단순한 특성이 있는데...나는 왜...;; def solution(n): ap = [.. 2024. 5. 28. 더 맵게 첫번째 코드 prioirty queue를 이용해서 정렬한 후 맨 앞과 그 다음을 뽑은 후 계산해서 넣는 과정을 반복해서 계산하도록 하였다. from queue import PriorityQueue def solution(scoville, K): prioirty = PriorityQueue() count = 0 for i in scoville: prioirty.put(i) while not prioirty.empty() and prioirty.queue[0] least = prioirty.get() if least >= K: continue else: mixed = prioirt.. 2024. 5. 25. 올바른 괄호 첫번째 코드 check라는 변수를 이용하여 "("인 경우에는 1을 더하고 ")"인 경우에는 -1을 더한다.하지만 ")"로 시작하는 경우 -1로 시작하지만 고려하지 않으므로 check가 0미만인 경우에 False로 break 하도록 한다.최종적으로 check가 0이 되어야 열리거나 닫혀있는 괄호는 없는 것이다. def solution(s): answer = True check = 0 for i in s: if i == "(": check += 1 elif i == ")": check -= 1 if check answer = False .. 2024. 5. 24. 기능개발 첫번째 코드 먼저 필요한 날로 구성된 리스트를 만들어야 한다.이를 위해 (남은 날 // 속도)을 구한 후 나머지가 있는 경우 +1을 한다. 이제 값을 비교해가면서 현재 값보다 큰 값이 있지 않은 수를 순차적으로 더해간다.마지막 값이 빠지지 않도록 포함한 후 결과를 만든다. def solution(progresses, speeds): answer = [] days = [0] * len(progresses) count = 0 for i in range(len(progresses)): progresses[i] = 100 - progresses[i] for i in range(len(progresses)): if (progresses[i] % sp.. 2024. 5. 23. 이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음 728x90