본문 바로가기

Python

[Python] Lv.0 코딩 기초 트레이닝 - 배열 만들기 5, 부분 문자열 이어붙여 문자열 만들기

1. 배열 만들기 5 

  • 배열 intStr의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환
    • for i in range(len(intStrs): list 길이만큼 반복하기 위해 for문
    • if int(intStrs[i][s:s+1]) > int(k)
      • 파이썬 슬라이싱: 시작~끝-1을 출력함, 따라서 길이 l짜리를 잘림 없이 출력하기 위해선 s+1 필수
      • int(): 문자열을 잘라낸 정수와 k 모두 문자열이므로 정수로 변환
  • 정수값이 k보다 크면 배열에 담기 
    • answer.append(int(intStr[i][s:s+1])): 배열에 정수(int)로 변경하여 담기(append)
def solution(intStrs, k, s, l):
    answer = []
    for i in range(len(intStrs)):
        a = int(intStrs[i][s:s+l])
        
        if a > int(k):
            answer.append(a)
    return answer

 

 

2. 부분 문자열 이어붙여 문자열 만들기 

  • my_strings의 원소의 parts에 해당하는 부분 문자열을 순서대로 이어붙인 문자열
    • for i in range(len(my_strings)): list 길이만큼 반복하기 위해 for문
    • answer += my_strings[i][s:e+1]: i번째 my_strings의 s 시작 + e의 길이만큼 잘린 문자열 만들기
  • parts[i]는 [s, e]형태
    • parts가 [[0, 4], [1, 2]] 라면 다음과 같이 작동함 
    • s = parts[i][0]: 0, 1
    • e = parts[i][1]: 4, 2
def solution(my_strings, parts):
    answer = ''
    for i in range(len(my_strings)):
        s = parts[i][0]
        e = parts[i][1]
        answer += my_strings[i][s:e+1]
    return answer

 

참고 사이트: https://programmers.co.kr/

 

프로그래머스

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

programmers.co.kr

 

반응형