프로그래머스_Lv0_잘라서 배열로 저장하기_파이썬

Today Jeeho Learned·2022년 12월 20일
0

알고리즘

목록 보기
34/38
post-thumbnail

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120913

내 답안

def solution(my_str, n):
    answer = []

    for i in range(int(len(my_str)/n)):
        str1 = ''
        str1 = my_str[i*n: i*n+n]
        answer.append(str1)

    if len(my_str) % n != 0:
        str2 = ''
        str2 = my_str[i*n+n:len(my_str)]
        answer.append(str2)
    return answer

풀이 정리

  • 어려운 문제는 아니라고 생각했는데, 풀려고하니 풀이가 되지 않았다.....ㅠ^ㅠ
  • 주어진 n의 숫자만큼 짜르려고 slice를 중심으로 생각했었는데 그것보다는 slice안에 들어가는 숫자를 어떻게 구성해야하는지가 더 중요한 문제였다.
    1. 주어진 str를 순회하는데 slice를 위해서 n의 수로 나누어 떨어지는 만큼 i값을 증가시켜줬다.
    1. i값이 float로 나올수있는데 int형으로 형변환을 해주었고, i값에 n을 곱한값에서부터 : i값에 n곱하기 + n을 통해서 n의 배수만큼 짤라서 넣어주었다.
    1. 다만 str이 n의 배수의 길이가 아닐때에는 위에서 사용했던 i값을 그대로 가지고 사용하여 나머지 부분까지 출력하여 배열에 새로운 인덱스로 넣어주었다.

다른풀이

def solution(my_str, n):
    return [my_str[i: i + n] for i in range(0, len(my_str), n)]

profile
기록해야 (살아)남는다 !

0개의 댓글