[Programmers] Level 2. 문자열 압축
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 주어진 문자열을 1개 이상의 일정한 단위로 잘라 압축한 문자열 중, 가장 짧은 문자열의 길이를 반환한다. 💻Solution def solution(s): INF = int(1e9) answer = INF n = len(s) for i in range(1, n+1): tmp = '' prev = s[:i] cnt = 1 for idx in range(i, n, i): now = s[idx:idx+i] if prev == now: cnt += 1 else: tmp +=..
[Programmers] Level 2. 수식 최대화
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 주어진 +, -, * 연산자들의 우선순위를 달리하며 수식을 계산했을 때, 그 절댓값이 가장 큰 값을 반환한다. 💻Solution from itertools import permutations def solution(expression): answer = [] used_expression = [] expression_list = [] # 사용된 연산자 종류 구하기 for ex in ['*', '+', '-']: if ex in expression: used_expre..
[Programmers] Level 2. 방금 그 곡
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 기억하는 악보를 포함하는 곡의 이름을 반환한다. 1분당 1개의 음이 재생시간 동안 재생되며, 악보는 처음부터 반복 재생된다. 해당하는 곡이 여러개일 경우, 재생시간이 길고 먼저 입력된 곡의 이름을 반환한다. 💻Solution def solution(m, musicinfos): answer = [] melodies = {} # 각 음악 별 악보 구하기 (재생 시간) for music in musicinfos: s, e, title, melody = music.spli..