관리 메뉴

솜씨좋은장씨

[Programmers] 2018 KAKAO BLIND RECRUITMENT [3차] 압축 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 2018 KAKAO BLIND RECRUITMENT [3차] 압축 (Python)

솜씨좋은장씨 2021. 3. 18. 20:39
728x90
반응형

코딩 1일 1문제! 

오늘의 문제는 2018년도 카카오 블라인드 채용 문제였던 압축입니다!

 

코딩테스트 연습 - [3차] 압축

TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34]

programmers.co.kr

Solution

def solution(msg):
    answer = []
    
    new_id = 27
    
    word_dict = dict()
    
    for ascii_num in range(65, 91):
        word_dict[chr(ascii_num)] = ascii_num - 64
    
    idx_f, idx_e = 0, 0
    
    while True:
        idx_e += 1
        if idx_e == len(msg):
            answer.append(word_dict[msg[idx_f:idx_e]])
            break
        
        if msg[idx_f:idx_e+1] not in word_dict.keys():
            word_dict[msg[idx_f:idx_e+1]] = new_id
            new_id += 1
            answer.append(word_dict[msg[idx_f:idx_e]])
            idx_f = idx_e
            
    return answer

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments