일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- level2
- level 2
- 동적계획법
- 자물쇠와 열쇠
- 프로그래머스
- 문자열압축
- level1
- github
- 전화번호 목록
- level3
- 같은숫자는싫어
- 코딩테스트
- pwnable
- DFS/BFS
- themida
- vscode
- 선형회귀
- 동빈나
- 2020 KAKAO BLIND RECRUITMENT
- 베스트앨범
- level 3
- 머신러닝
- 개발
- 스택/큐
- Programmers
- Python3
- 타겟 넘버
- 더 맵게
- 여행경로
- Today
- Total
목록2020 KAKAO BLIND RECRUITMENT (2)
hoon
문제 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede"와 같은 문자열은 전혀 압축되지 않습니다. "어피치"는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라서 ..
혼자서 열심히 풀려고 했지만 1시간 안에 푸는 게 불가능해 답을 보면서 공부하기로 했다. ㅠ 풀이 힌트 1. key 회전 2. 자물쇠 확장 import copy def expend_lock(lock, N, M, size): # 자물쇠를 확장시키는 함수 # 순수 함수 expended_lock = [[0 for i in range(size)] for _ in range(size)] for y in range(N): for x in range(N): expended_lock[y + M - 1][x + M - 1] = lock[y][x] return expended_lock def rotate(key): # *key는 껍질(Unpacking)을 벗겨내는 역할을 합니다. [] () {} # [(0, 0, 0), ..