분류 전체보기26 프로그래머스 괄호 변환 (Python) def right(w): # 올바른 괄호 문자열인지 확인 stack = [] for i in w: stack.append(i) if len(stack)>=2 and stack[-2] == '(' and stack[-1] == ')': stack = stack[:-2] # stack의 끝에 2개가 '()' 이면 없애기 if stack: # stack에 남은 문자열 있다면 올바른 괄호 아님 return False else: # stack에 남은 문자열 없다면 올바른 괄호 return True def algorithm(w): if w == '': # 1. 빈문자열인 경우, 빈 문자열 반환 return '' g1 = 0 # '(' 개수 g2 = 0 # ')' 개수 for i in range(len(w)): # .. 2022. 6. 2. [Leetcode] 237. Delete Node in a Linked List [문제] Write a function to delete a node in a singly-linked list. You will not be given access to the head of the list, instead you will be given access to the node to be deleted directly. It is guaranteed that the node to be deleted is not a tail node in the list. [생각] 알고 보면 정말 간단한 문제였는데 순간 뇌정지가 왔네요 ㅋㅋ 이전 node의 정보를 알 수 없는데 이걸 삭제하라고...? Linked List 특성상 다음 node의 정보는 접근 가능하나, 이전 node의 접근은 불가능 합니다. 어.. 2022. 3. 20. [Leetcode] 54. Spiral Matrix (Python) class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: def check(matrix): for i in range(len(matrix)): for j in range(len(matrix[i])): if matrix[i][j] == 0: return True return False row = len(matrix) col = len(matrix[0]) visited = [[0]*col for i in range(row)] ans = [] # left: [0,1], down:[1,0], right: [0,-1], up: [-1,0] move = [0, 1] y = 0 x = 0 while check(visited): if co.. 2022. 1. 24. 백준 [2839번] 설탕 배달 (Python) 좀 복잡하지만 조건을 여러개 세워서 풀었습니다. n = int(input()) cnt = 0 pass_flag = False m = n if m%5 == 0: cnt = m//5 else: if m5: temp = m//5 while 1: m = n m -= (5*temp) if m % 3 == 0: cnt += temp cnt += m//3 pass_flag = True break temp -= 1 if temp < 0: break if pass_flag == False: m = n if m % 3 == 0: cnt += n//3 else: cnt = -1 print(cnt) 아래는 1년전 풀이인데 더 간단하게 풀었더라고요,,, 퇴화하는 실력..? n = int(input()) s=0 if n==4 o.. 2022. 1. 20. 이전 1 ··· 3 4 5 6 7 다음