전체 글

TIL-algorithm

스택 - 괄호 회전하기

https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer =0 n =len(s) for i in range(n): stack=[] for j in range(n): c=s[(i+j)%n] if c =="(" or c =="[" or c =="{": stack.append(c) else: if not stack: break if c ==")" and stack[-1] =="(": stack.pop() elif c..

TIL-algorithm

스택 - 10진수를 2진수로 변환하기

def solution(decimal): stack = [] while decimal > 0: remainder = decimal % 2 stack.append(remainder) decimal = decimal // 2 binary = "" while len(stack) > 0: binary += str(stack.pop()) return binary 13을 2로 나누면서 나눈 나머지를 순서대로 저장한다. 이과정을 0이 될때까지 반복하며 몫이 0이 되면 순서대로 읽으면 이진수변환이 된다. 스택에 저장할 데이터가 무엇인지 생각해보면 스택에 하나씩 나머지를 쌓고, 하나씩 꺼내면 답이 나온다. + 이문제에서 pop말고 문자열에 계속해서 문자를 더할때는 join 메서드가 효율적이다.

minn85456
. ⋆ ˖ * ˖˚