목록kakao (5)
컴공생의 다이어리

[프로그래머스] 괄호 변환 - 파이썬(Python) from collections import deque def separate_u_v(p): # 문자열 p를 u와 v로 분리 # u : 균형잡힌 괄호 문자열, v : 나머지 open_p, close_p = 0, 0 for i in range(len(p)): if p[i] == '(': open_p += 1 else: close_p += 1 if open_p == close_p: return p[:i + 1], p[i + 1:] # u, v def check_balance(u): # 문자열 u가 올바른 괄호 문자열인지 체크 stack = deque() for i in u: if i == '(': stack.append(i) else: if not stack..

[프로그래머스] 문자열 압축 - 파이썬(Python) def solution(s): answer = len(s) for step in range(1, len(s) // 2 + 1): comp = '' prev = s[0:step] count = 1 for i in range(step, len(s), step): if prev == s[i:i + step]: count += 1 else: comp += str(count) + prev if count >= 2 else prev prev = s[i:i + step] count = 1 comp += str(count) + prev if count >= 2 else prev answer = min(answer, len(comp)) return answer htt..

[프로그래머스] 비밀지도 - 파이썬(Python) def solution(n, arr1, arr2): answer = [] for i, j in zip(arr1, arr2): temp = str(bin(i | j)[2:]).rjust(n, '0') temp = temp.replace('1', '#') temp = temp.replace('0', ' ') answer.append(temp) return answer https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는..

[프로그래머스] 방금그곡 - 파이썬(Python) def shap_to_lower(s): # 샵이 포함된 음을 소문자로 변경 s = s.replace('C#', 'c').replace('D#', 'd').replace('F#', 'f').replace('G#', 'g').replace('A#', 'a') return s def solution(m, musicinfos): data = [] m = shap_to_lower(m) for i in musicinfos: i = i.split(',') data.append([ int(i[1][:2]) * 60 + int(i[1][3:]) - (int(i[0][:2]) * 60 + int(i[0][3:])), # 재생시간 i[2], # 제목 shap_to_lower..

[프로그래머스] 오픈채팅방 - 파이썬(Python) def solution(record): answer = [] id_dict = dict() # id에 해당하는 이름 정보 commands = [list(r.split()) for r in record] # record의 데이터들을 공백 기준으로 분리 for command in commands: if command[0] == 'Enter' or command[0] == 'Change': # id에 해당하는 닉네임 정보 생성 혹은 업데이트 id_dict[command[1]] = command[2] for command in commands: if command[0] == 'Enter': answer.append(id_dict[command[1]] + "님이..