-
[Programmers] 2018 KAKAO BLIND RECRUITMENT[3차] : 압축Problem Solving/Programmers 2021. 2. 13. 12:02
programmers.co.kr/learn/courses/30/lessons/17684
LZW 압축 방식을 사용해서 문자열을 압축하는 전형적인 파이썬 딕셔너리 활용 문제같다
2018년 카카오 코테 기출은 풀다보면 신기하다 정말 네가 카카오에 들어와서 과제 던져주면 해결할 수 있냐고 묻는 것 같은 느낌....??
problem solving이 문제해결능력으로 이어지는지 보려는 의도 같다
하지만 이 문제는 쉽기 때문에 뛰어난 능력을 요구하진 않았따
나는 맨 처음 딕셔너리를 초기화하고, 단순 이중 for문을 돌려주면서 일치하는 문자열이 있으면 색인 번호를 갱신하고 아니면 딕셔너리에 추가하는 방식으로 구현했다
def solution(msg): answer = [] dic ={} cnt=1 for i in range(0,26): dic[chr(i+ord('A'))]=cnt cnt+=1 print(dic) i=0 while i<len(msg): num=0 j=i+1 while j<len(msg)+1: s=msg[i:j] if s in dic: num=dic[s] else: dic[s]=cnt cnt+=1 break j+=1 if num!=0: answer.append(num) i=j-1 return answer
'Problem Solving > Programmers' 카테고리의 다른 글
[Programmers]2018 KAKAO BLIND RECRUITMENT: [3차] 방금그곡 (0) 2021.03.07 [Programmers]2018 KAKAO BLIND RECRUITMENT: [1차] 셔틀버스 (0) 2021.02.24 [Programmers] 2018 KAKAO BLIND RECRUITMENT[3차]: n진수 게임 (0) 2021.02.13 [Programmers] 2018 KAKAO BLIND RECRUITMENT[1차] 뉴스 클러스터링 (0) 2021.02.12 [Programmers] 2018 KAKAO BLIND RECRUITMENT: [1차] 다트 게임 (3) 2021.02.05