1. 문자열의 앞의 n글자

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • my_string은 숫자와 알파벳으로 이루어져 있습니다.
  • 1 ≤ my_string의 길이 ≤ 1,000
  • 1 ≤ n ≤ my_string의 길이

코드 작성

def solution(my_string, n):
    return my_string[:n]


2. 접두사인지 확인하기

어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, “banana”의 모든 접두사는 “b”, “ba”, “ban”, “bana”, “banan”, “banana”입니다. 문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • 1 ≤ is_prefix의 길이 ≤ 100
  • my_string과 is_prefix는 영소문자로만 이루어져 있습니다.

코드 작성

def solution(my_string, is_prefix):
    real_prefix = [my_string[:i] for i in range(1, len(my_string)+1)]
    return 1 if is_prefix in real_prefix else 0


3. 문자열 뒤집기

문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • my_string은 숫자와 알파벳으로만 이루어져 있습니다.
  • 1 ≤ my_string의 길이 ≤ 1,000
  • 0 ≤ s ≤ e < my_string의 길이

코드 작성

def solution(my_string, s, e):
    answer = list(my_string)
    answer[s:e+1] = answer[s:e+1][::-1]
    return ''.join(answer)


4. 세로 읽기

문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.

제한사항

  • my_string은 영소문자로 이루어져 있습니다.
  • 1 ≤ m ≤ my_string의 길이 ≤ 1,000
  • m은 my_string 길이의 약수로만 주어집니다.
  • 1 ≤ c ≤ m

코드 작성

def solution(my_string, m, c):
    l = []
    answer = []

    # 문자열 분해 과정
    for i in range(len(my_string)//m):
        l.append(my_string[:m])
        my_string = my_string[m:]
    
    # 특정 열에 위치한 문자열만 가져오는 과정
    for j in l:
        answer.append(j[c-1])

    return ''.join(answer)


5. qr code

두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • 0 ≤ r < q ≤ 20
  • r < code의 길이 ≤ 1,000
  • code는 영소문자로만 이루어져 있습니다.

코드 작성

def solution(q, r, code):
    # 문자열과 문자열별 인덱스/q의 나머지를 튜플로 저장
    l = [(c, i%q) for i, c in enumerate(code)]
    answer = ''

    # 튜플 속 인덱스/q의 나머지값이 r인 문자열만 가져옴
    for s in l:
        if s[1] == r:
            answer += s[0]
    return answer


6. 문제 출처


👩🏻‍💻개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다.

댓글남기기