[코테준비]/[코테준비]Python

[코테준비]프로그래머스 코딩 기초 트레이닝 DAY10 Python <문자열>

bestFinanceDataAnalyist 2023. 8. 25. 13:24

https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc&languages=python3

프로그래머스 코딩 기초 트레이닝 연습풀이입니다. 모든 문제의 저작권은 프로그래머스에게 있으며 문제가 됐을 시 삭제하겠습니다.

 

 


DAY10 문자열

문자열의앞의n글자 

문제설명

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

 

입출력예시

my_string                                                                                 n                   result

"ProgrammerS123" 11 "ProgrammerS"
"He110W0r1d" 5 "He110"

슈도코드

어제 했던 문자열 뒷글자랑 비슷 오히려 더 쉬움 문자열[:n] 하면 됨

 

전체코드

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

 

 

 

접두사인지확인하기

문제설명

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

 

입출력예시

my_string                                                                   is_prefix                                                                        result

"banana" "ban" 1
"banana" "nan" 0
"banana" "abcd" 0
"banana" "bananan" 0

슈도코드

어제 했던 접미사 확인하기와 비슷하게 확인. 반복문을 돌릴 때 i부터가 아닌 i까지로 돌리면 됨

 

전체코드

def solution(my_string, is_prefix):
    answer = []
    for i in range(len(my_string)):
        answer.append(my_string[:i])

    if is_prefix in answer:
        return 1
    else:
        return 0

 

 

 

문자열뒤집기

문제설명

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

 

입출력예시

my_string                                                                    s            e                   result

"Progra21Sremm3" 6 12 "ProgrammerS123"

슈도코드

[:s] + 뒤집은거 + [e+1:]

뒤집은거: [::-1]

 

전체코드

def solution(my_string, s, e):

    substring = my_string[s:e+1]
    rev = substring[::-1]
    answer = my_string[:s]+rev+my_string[e+1:]
    return answer

 

 

세로읽기

문제설명

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

 

입출력예시

my_string                                                                                                   m             c                result

"ihrhbakrfpndopljhygc" 4 2 "happy"

슈도코드

반복문을 돌릴때 for i in range(처음, 끝, 반복) 조건을 넣어서 돌리기. 반복문은 세로로 출력

 

전체코드

def solution(my_string, m, c):
    answer = ""
    for i in range(c-1, len(my_string), m):
        answer +=my_string[i]
    return answer

 

 

 

qrcode

문제설명

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

 

입출력예시

q                 r               code                                                                                result

3 1 "qjnwezgrpirldywt" "jerry"
1 0 "programmers" "programmers"

슈도코드

위에 문제처럼 반복문 + range 사용

 

전체코드

def solution(q, r, code):
    answer = ''
    for i in range(r, len(code), q):
        answer += code[i]
    return answer