RIEN😚
이상한 나라의 개발자
RIEN😚
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • Algorithm (68)
      • 알고리즘 (0)
      • Baekjoon (8)
      • 프로그래머스 (55)
      • HackerRank (5)
    • Android (30)
      • Project (1)
      • Error (2)
      • Studio (1)
      • Android (26)
    • Kotlin (6)
    • CS (4)
      • 네트워크 (2)
      • 데이터베이스 (2)
    • Front End (5)
      • React (1)
      • VUE (3)
      • Project (0)
      • 기타 (1)
    • 기록 (11)
      • 회고록 (6)
      • TIL (5)

블로그 메뉴

  • Github🔥
  • 포트폴리오🌹

공지사항

인기 글

티스토리

250x250
반응형
hELLO · Designed By 정상우.
RIEN😚

이상한 나라의 개발자

Algorithm/프로그래머스

[프로그래머스>Lv1] 둘만의 암호 - kotlin & python

2023. 2. 3. 17:07
728x90
반응형
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제

[입력]

두 문자열 s와 skip

자연수 index

 

- 문자열 s의 각 알파벳을 index 만큼 뒤의 알파벳으로 바꿔줍니다.

- index만큼 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.

- skip 안에 있는 알파벳을 제외하고 건너뜁니다.

 

[출력]

위 규칙대로 s를 변환한 결과를 return

 

2. 풀이

이 문제에서 가장 중요한 점은 제한 사항에 나와있는

🌹 skip에 포함되는 알파벳은 s에 포함되지 않습니다.

이 부분입니다.

 

때문에

a ~ z 중에서 skip에 나온 알파벳을 제외하고나서 계산할 수 있는 이유입니다.

 

3. 코드

kotlin
class Solution {
    fun solution(s: String, skip: String, index: Int): String {
        var answer: String = ""
        val skipped = skip.map { it.toChar() }
        val alphabet = ('a'..'z').filter { it !in skipped }

        s.forEach {
            val i = (alphabet.indexOf(it) + index) % alphabet.size
            answer += alphabet[i]
        }
        return answer
    }
}

 

python
def solution(s, skip, index):
    answer = ''
    
    skip = [ord(x) for x in skip]
    alphabet = [x for x in range(ord('a'),ord('z')+1) if x not in skip]
    size = len(alphabet)
    
    for i in s:
        pos = (alphabet.index(ord(i)) + index) % size
        answer += chr(alphabet[pos])
        
    return answer

 

반응형

'Algorithm > 프로그래머스' 카테고리의 다른 글

[프로그래머스>Lv3] 인사고과 - kotlin  (0) 2023.02.09
[프로그래머스>Lv2] 호텔 대실 - kotlin, python  (0) 2023.02.08
[프로그래머스>Lv2] 뒤에 있는 큰 수 찾기 - Kotlin  (0) 2023.02.03
[프로그래머스>Lv2] 택배 배달과 수거하기 - Python  (0) 2023.02.03
[프로그래머스>Lv.2] 무인도 여행  (0) 2023.01.31
    'Algorithm/프로그래머스' 카테고리의 다른 글
    • [프로그래머스>Lv3] 인사고과 - kotlin
    • [프로그래머스>Lv2] 호텔 대실 - kotlin, python
    • [프로그래머스>Lv2] 뒤에 있는 큰 수 찾기 - Kotlin
    • [프로그래머스>Lv2] 택배 배달과 수거하기 - Python
    RIEN😚
    RIEN😚
    안드로이드 / 코틀린 독학으로 취업하자!

    티스토리툴바