프로그래머스3 [프로그래머스] 단어 변환 (Python) Stack 과 Dictionary를 이용해 풀이 하였습니다. from collections import defaultdict def check(word1, word2): # 1개의 알파벳만 다른 문자 확인 cnt = 0 for i in range(len(word1)): if word1[i] != word2[i]: cnt += 1 if cnt == 1: return True else: return False def solution(begin, target, words): if target not in words: return 0 graph = defaultdict(list) for i in words: if check(begin, i): graph[begin].append(i) for i in range(.. 2022. 6. 23. [프로그래머스] [1차] 프렌즈4블록 (Python) def return_xy(m,n,board): # 2*2 형태로 사라질 블록의 왼쪽위 블럭의 좌표값 리턴 arr = [] for i in range(m): for j in range(n): if i+1 < m and j+1 < n: if board[i][j] and board[i][j] == board[i][j+1] == board[i+1][j] == board[i+1][j+1]: # 왼쪽위 블록 기준으로 그 값이 0이 아니고 오른쪽, 아래, 오른쪽 아래 블록의 값이 값으면 좌표값 저장 arr.append([i,j]) return arr def check(m,n, board): # 2*2 형태로 사라질 블록이 있는지 확인 for i in range(m): for j in range(n): if i+1 <.. 2022. 6. 9. 프로그래머스 괄호 변환 (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. 이전 1 다음