Skip to content

[PGS] 둘만의 암호 - #80

Open
been12151 wants to merge 17 commits into
mainfrom
week4/only-two-cipher
Open

[PGS] 둘만의 암호#80
been12151 wants to merge 17 commits into
mainfrom
week4/only-two-cipher

Conversation

@been12151

Copy link
Copy Markdown
Owner

🍪 문제 이름

Resolve: 둘만의 암호

🍊 문제 정의

input

  • s : 암호화할 문자열 (1 ≤ 길이 ≤ 1,000, 알파벳 소문자로만 구성)
  • skip : 건너뛸 문자들이 담긴 문자열
  • index : 이동할 칸 수 (1 ≤ index ≤ 100)

output

  • s의 각 문자를 알파벳 순서상 skip에 없는 문자만 세어 index칸 이동한 결과 문자열

예시

s skip index result
"acbde" "bcd" 2 "egkmp"

🍑 알고리즘 설계

각 문자에 대해 value를 1씩 증가시키면서 skip에 없는 문자만 이동 횟수(moved)로 카운트. movedindex에 도달하면 해당 문자를 결과에 추가.
z를 넘어가면 a로 순환하도록 처리.

def solution(s, skip, index):
    answer = ''
    for i in s:
        value = ord(i)
        moved = 0
        while moved < index:
            value += 1
            if value > ord('z'):
                value = ord('a')
            if chr(value) not in skip:
                moved += 1
        answer += chr(value)

    return answer

🥝 최악 수행 시간 복잡도

  • O(n × index × 26) (n = s의 길이)
  • 각 문자마다 최대 26칸씩 index번 이동할 수 있으므로 전체 O(n × index × 26)

🍰 특이 사항 (Optional)

skipset으로 변환해두면 in 체크가 O(1)로 줄어드는데 자꾸 까먹는거 같아요...

@been12151
been12151 requested review from gayo73 and yangyeeeun July 13, 2026 13:08
@been12151 been12151 self-assigned this Jul 13, 2026
@been12151 been12151 linked an issue Jul 14, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[PGS] 둘만의 암호 / level 1

2 participants