[코테준비]프로그래머스 코딩 기초 트레이닝 DAY10 Python <문자열>
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과 정수 s, e가 매개변수로 주어질 때, 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과 두 정수 m, c가 주어집니다. 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
문제설명
두 정수 q, r과 문자열 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