둘만의 암호 (알파벳, 리스트 인덱스 밀기)
·
Coding Test/programmers
# 알파벳 리스트 from string import ascii_lowercase def solution(s, skip, index): answer = '' a=ascii_lowercase for x in skip: a=a.replace(x,'') for i in s: tmp=a[(a.index(i)+index) % len(a)] answer+=tmp return answer
푸드 파이트 대회 (문자열 뒤집기)
·
Coding Test/programmers
def solution(food): answer = '' for i in range(len(food)): for j in range(1,food[i]//2+1): answer+=str(i) answer+='0'+answer[::-1] return answer
추억 점수 (zip)
·
Coding Test/programmers
def solution(name, yearning, photo): answer = [] d = {i:j for i,j in zip(name,yearning)} for x in photo: score=0 for i in x: if i in d: score+=d[i] answer.append(score) return answer
전화번호 목록 (리스트 값 비교, zip함수, 2중 for문 시간초과)
·
Coding Test/programmers
def solution(phone_book): phone_book.sort() for p1, p2 in zip(phone_book, phone_book[1:]): if p2.startswith(p1): return False return True
인사고과 (정렬, 튜플값 비교)
·
Coding Test/programmers
scores[0]은 완호의 점수 각 사원의 근무 태도 점수와 동료 평가 점수 목록 scores이 주어졌을 때, 완호의 석차를 return def solution(scores): answer = 0 w=scores[0] scores.sort(key=lambda x:(-x[0], x[1])) maxval=0 for i,j in scores: if w[0]
3 x n 타일링 (DP)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 (현재 경우의 수) = (이전 단계의 경우의 수) x (n = 2일 때 경우의 수) + 2 dp[n] = dp[n-2]*dp[2] + dp[n-4]*2 + dp[n-6]*2 + ... dp[2]*2 + 2 = dp[n-2]*3 + dp[n-4]*2 + dp[n-6]*2 + ... dp[2]*2 + 2 2를 더하는 이유 : 아래와 같은 새로운 모양의 타일이 생김 풀이 def solution(n): mod = 1000000007 dp=[0]*(n+1) dp[2]=3 if n>2: dp[4] = 11 for ..