728x90
반응형
SMALL

알고리즘 3

프로그래머스 - 올바른 괄호 python

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. def solution(s): answer = True left = list() for i in s : if i == '(': left.append(i) if i == ')': try:..

프로그래머스 - 이진변환반복 (python)

0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.x의 모든 0을 제거합니다.x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다.예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다.0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. def solution(s): answer = [] tmpStr = '' binCnt = 0 zeroCnt = 0 ..

프로그래머스 - 더 맵게 (heap) - Python

안녕하세요. 부족한 개발 실력이지만, 꾸준하게 공부한 기록을 남겨놓기 위해서 제가 풀이한 알고리즘 문제를 공유하려고 합니다. 저와 같은 초보 개발자분들에게 많은 도움이 되었으면 좋겠습니다 ! 오늘 풀어본 문제는 프로그래머스에 있는 '더 맵게(heap)' 문제입니다 . heap 자료구조를 사용하는 문제인데, 저는 처음에 그냥 list를 사용해서 문제를 풀어보았습니다. def solution(scoville, K): answer = 0 scoville.sort() if scoville[0] >= K: return answer while scoville[0] < K: if len(scoville) == 1: answer = -1 break min_scov1 = scoville.pop(0) min_scov2 =..

728x90
반응형
LIST