IT 세계의 후아
[python]문자열 인덱싱 본문
※ 콜론[:]을 활용한 문자열 인덱싱
text = 'abcdef'
text[0] = 'a'
text[0:2] = 'ab'
text[-2:0] = 'ef'
text[:-3] = 'abc'
text[::2] = 'ace' # 0번째 문자부터 끝까지 2개씩 건너뛰기
# 프로그래머스 lv0 코드 처리하기
def solution(code):
mode = False # 0
ret = ""
for i in range(len(code)):
if code[i] == "1": # 숫자 1이 아닌 문자열 1이라는 것 놓치지 않기!
mode = not mode
elif (mode == False and i%2 == 0) or (mode == True and i%2 == 1):
ret += code[i]
else: continue
return "EMPTY" if len(ret) == 0 else ret
# 다른 사람 풀이
# return "".join(code.split("1"))[::2] or "EMPTY"
# 프로그래머스 lv0 세로 읽기
# 내 풀이...진짜 뭐했냐ㅎ
def solution(my_str, m, c):
return ''.join([my_str[i*m+c-1] if m!= 1 else my_str[i*m] for i in range(len(my_str)//m)])
# 다른 사람 풀이-인덱싱 활용
def solution(s, m, c):
return s[c-1::m]
※ [-1]과 [-1:]은 다르다
빈 리스트에서 [-1]은 IndexError가 뜨지만 [-1:]은 가능함
※ 붙어있는 문자열 한글자씩 띄우기
엉뚱한 방법으로 헤매다가..찾은 어이없는..쉬운 방법...
리스트로 변환시키기ㅎ (참고 https://ghdwn0217.tistory.com/58)
# 프로그래머스 lv0 9로 나눈 나머지
# number "78720646226947352489" -> 2
def solution(number):
return sum(map(int, list(number))) % 9
# sum(map(int, number)) 해도 똑같음! => map(func, iterable) => 문자열도 iterable이므로!
# 문자열은 슬라이싱(인덱스)으로 추출, 접근은 가능하지만 수정은 불가능!!!
ㄴcf) reverse vs reversed https://hoooa.tistory.com/21
'Coding > Python' 카테고리의 다른 글
[python]zip 활용 - dict, 리스트, 문자열, 반복문 (0) | 2024.04.17 |
---|---|
[python]리스트 값 추가, 삭제/요소 곱 - reduce, prod) (0) | 2024.04.17 |
[python]조건문 (0) | 2024.04.17 |
[python]join 함수 (0) | 2024.04.17 |
[python]문자열 replace (0) | 2024.04.16 |