티스토리 뷰
문제 설명
문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_str의 길이 ≤ 100
- 1 ≤ n ≤ my_str의 길이
- my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.
입출력 예
my_str : n : result
"abc1Addfggg4556b" | 6 | ["abc1Ad", "dfggg4", "556b"] |
"abcdef123" | 3 | ["abc", "def", "123"] |
* 첫 번째 생각
def solution(my_str, n):
import math
answer = []
for _ in range(math.ceil(len(my_str)/n)):
answer.append(my_str[:n])
my_str = my_str[n:]
return answer
- 문자열을 n으로 나누어서 몇 번 잘라야 하는지 계산 (반올림을 위해 math 모듈의 ceil 사용
cf. math 모듈이 꼭 필요한걸까
* 두 번째 생각
math 모듈없이 작성
def solution(my_str, n):
answer = []
for _ in range(0, len(my_str), n):
answer.append(my_str[:n])
my_str = my_str[n:]
return answer
range(start, stop, step)
for _ in range(len(my_str)//n)
>> 이 경우 몫만 취하게 되므로 16문자열을 6개씩 나누면 2쩜 얼마의 목이라 스탑값이 2 (0,1)
>> 0-5, 6-11 다음의 12-15까지의 문자를 반영하지 않아 실패
for _ in range(math.ceil(len(my_str)/n))
>> 나눈 값의 소수점 값을 올림 해버려서 12-15까지의 문자를 반영하게 했으나, math 함수와 ceil(올림)을 모르면 불가하므로 패스
for _ in range(0, len(my_str), n)
>> 스텝값을 넣어서 16문자열이고 6개씩일 경우 0,6,12 세 번동안 for문은 돌고
도는 동안 6개씩 취하고
처리할 문자열을 앞 6개씩 제외하고 끝까지 재정의하도록 함
'Test > Python(20220101~)' 카테고리의 다른 글
프로그래머스.L0.문자열정렬 (0) | 2022.10.10 |
---|---|
프로그래머스.L0.7의개수 (0) | 2022.10.09 |
문자열 처리 참고 (0) | 2022.10.07 |
프로그래머스.L0.문자열밀기 (1) | 2022.10.05 |
프로그래머스.L0.연속된 수의 합 (0) | 2022.10.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Join
- insert
- vmware.powercli
- 정렬
- 읽어오기
- powershell
- 대소문자
- fromkeys
- 차집합
- artandculture
- 부동없이
- LIST
- vmware
- powercli
- oracle
- dezoomify
- set()
- storage
- virt-sysprep
- 스토리지
- 3par
- cloud-init
- exadata
- 중복제거
- sysprep
- 변수화
- EXA
- dp-2
- dp-1
- 배열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함