앗 매우 오랜만의 포스팅..ㅎㅎ여름휴가를 다녀오느라!~~ㅎㅎ
다시 빡공모드!!!
day 10 은 조금씩 풀다가... 오늘 끝났다!
문자열의 앞의 n글자
문제설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
def solution(my_string, n):
return my_string[:n]
접두사인지 확인하기
문제설명
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
접근방법
- is_prefix 의 길이가 어느정도인지 확인하기
- 만약에 my_string 의 길이에 prefix_length 가 포함되어있으면
- 접두사라고 볼 수 있다.
def solution(my_string, is_prefix):
prefix_length = len(is_prefix)
if is_prefix in my_string[0:prefix_length]:
return 1
else:
return 0
문자열 뒤집기
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
접근방법
나는 그냥 다 끊어서 생각했다...
- 처음부터 s까지는 그대로
- s부터 e까지인덱스는 적되, 뒤집어서 정렬
- e부터 끝까지는 또 그대로
def solution(my_string, s, e):
pre_string = my_string[:s]
real_string = my_string[s:e+1][::-1]
last_string = my_string[e+1:]
answer = pre_string + real_string + last_string
return answer
세로 읽기
문제설명
문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
접근방법
- 한 줄에 m글자씩 나누기-> range의 step 이용
- c열에 적힌 글자 찾기
- 세로로 읽기
def solution(my_string, m, c):
# c번째 열의 문자들을 추출
answer = ''.join(my_string[i] for i in range(c-1, len(my_string), m))
return answer
qr code
문제설명
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
접근방법
- 각 인데긋 돌기
- 각 인덱스를 q로 나누어서 나머지 계산
- 나머지가 r과 같은 경우 --->> 해당 인덱스의 문자를 결과문자열에 추가
def solution(q, r, code):
answer = ""
for i in range(len(code)):
if i % q == r:
answer += code[i]
return answer
'Algorithm' 카테고리의 다른 글
[Python] 프로그래머스 트레이닝 챌린지 D9 (0) | 2024.07.26 |
---|---|
[Python] 프로그래머스 트레이닝 챌린지 D8 (8) | 2024.07.24 |
[Python] 프로그래머스 트레이닝 챌린지 D7 (2) | 2024.07.23 |
[Python] 프로그래머스 트레이닝 챌린지 D6 (7) | 2024.07.22 |
[Python] 프로그래머스 트레이닝 챌린지 D5 (0) | 2024.07.21 |