본문 바로가기

알고리즘

(67)
문자열 압축 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 내 풀이 문자열을 cut만큼 잘라서 words에 담았다. cnt_list를 만들었는데, words를 돌면서 [현재 문자 == 전의 문자]이면 현재 문자의 인덱스에 해당하는 cnt_list 원소에 숫자를 증가시켰고, 전의 문자 인덱스 원소를 0으로 만들었다. 0으로 만든 이유는 압축 과정에서 0이면 제외시키기 위함이다. 길이가 1인 문자를 위해 cnt..
신규 아이디 추천 (Level 1) 문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 내 풀이 파이썬 함수를 얼마나 자유자재로 쓸 수 있는지에 따라 푸는 속도가 달라지는 문제이다. 문제에서 하라는 대로 그대로 구현했다. def solution(new_id): # 1 new_id = new_id.lower() # 2 tmp = "" for s in new_id: if s.isalpha() or s.isdigit() or s == '-'..
신고 결과 받기 (Level 1) 문제 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 내 풀이 1. report를 돌면서 유저와 유저가 신고한 ID를 리스트를 원소로 가지는 딕셔너리(defaultdict)에 담았다. dic = {"muzi": ["frodo", "neo"], "frodo": ["neo"], "apeach": ["frodo", "muzi"], "neo": []} 2. 딕셔너리에 담으면서 동시에 리스트(lst)를 사용하여..