알고리즘37 [프로그래머스] lv2 괄호 변환 https://programmers.co.kr/learn/courses/30/lessons/60058?language=python3 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 풀이 문제 설명에 나온 대로 구현했다. isbal 은 균형잡힌 문자열인지 확인한다. flag가 음수라면 균형잡히지 않은 문자열이다 uv 는 u와 v 로 나누는 함수이다. flag가 0이되면 u와 v로 나눈다 def isbal(p): flag = 0 for i in range(len(p)): if p[i] == '(': flag += .. 2022. 5. 10. [프로그래머스] lv.2 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626# 풀이1 정확성 테스트는 모두 통과인데 효율성 테스트에서 모두 시간 초과 난다 def solution(scoville, K): answer = 0 scoville.sort() while len(scoville)>2: answer += 1 idx=scoville[0] + scoville[1]*2 del scoville[0] del scoville[0] if scoville[0] >= K: return answer else: scoville.append(idx) scoville.sort() if len(scoville) == 2: idx=scoville[0] + scoville[1]*2 if idx >= K.. 2022. 5. 10. [프로그래머스] lv1 3진법 뒤집기 https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 풀이 while문: 3진법 뒤집은 결과가 나온다 def solution(n): answer = 0 num = '' while n: num += str(n%3) n = n//3 for i in range(0, len(num)): answer += (3**(len(num)-i-1))*int(num[i]) return a.. 2022. 5. 10. [프로그래머스] lv.1 두 개 뽑아서 더하기 https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 for문으로 순회하면서 더한 값을 추가하고 set해서 정렬한다 def solution(numbers): answer = [] for i in range(len(numbers)): sum = 0 for j in range(i+1, len(numbers)): if i != j: sum = numbers[i] + .. 2022. 5. 10. [프로그래머스] lv1. 포켓몬 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 풀이 nums를 set으로 중복제거한다 set의 길이가 nums//2의 길이보다 작으면 답은 set의 길이 아니면 nums//2가 답 def solution(nums): answer = 0 leng=len(nums)//2 nums=set(nums) if len(nums) > leng: answer= leng else: answer=len(nums) return.. 2022. 5. 9. 이전 1 2 3 4 5 6 7 8 다음