롤링 암호화
면접 대비시간 제한1초메모리 제한256 MB
앞 k글자는 그대로 두고 이후 각 글자를 원래 문자열에서 바로 앞 k글자 중 가장 흔한 글자만큼 밀어 암호화합니다.
문제
소문자로 이루어진 문자열을 암호화한다.
앞의 글자는 그대로 출력한다. 그 뒤의 각 글자는 원본 문자열에서 바로 앞에 오는 글자 중 가장 많이 나온 글자만큼 밀어서 출력한다. 가장 많이 나온 글자가 여럿이면 알파벳 순서가 가장 앞선 글자를 고른다.
어떤 글자만큼 민다는 것은 그 글자의 알파벳 순번만큼 뒤로 옮긴다는 뜻이고, z를 지나면 a로 돌아온다. a는 1번, z는 26번이므로 c만큼 밀면 b는 e가 되고 z는 c가 된다.
빈도는 항상 원본 글자에서 세고, 암호화해서 이미 만들어 낸 글자는 세지 않는다. 문자열 길이가 이하이면 전체를 그대로 출력한다.
입력
첫째 줄에 가 주어진다 ().
둘째 줄에 소문자 개로 이루어진 문자열이 주어진다 ().
출력
암호화한 문자열을 한 줄에 출력한다.