6. 문자열 (string)
문자열도 리스트처럼 글자들이 순서대로 있는 형태라, 인덱싱/슬라이싱이 똑같이 됩니다.
인덱싱과 슬라이싱
s = "algorithm"
print(s[0]) # 출력: a
print(s[-1]) # 출력: m
print(s[0:4]) # 출력: algo
print(len(s)) # 출력: 9
자주 쓰는 메서드
s = "hello world"
print(s.upper()) # 출력: HELLO WORLD (대문자)
print(s.lower()) # 출력: hello world (소문자)
print(s.replace("o", "0"))# 출력: hell0 w0rld (바꾸기)
print(s.split()) # 출력: ['hello', 'world'] (공백으로 자르기)
print(s.count("l")) # 출력: 3 (l의 개수)
join — 리스트를 문자열로 합치기 (split의 반대)
words = ["a", "b", "c"]
print("".join(words)) # 출력: abc
print("-".join(words)) # 출력: a-b-c (사이에 - 를 끼워서 합침)
문자 ↔ 숫자(아스키 코드) — ord / chr
문자를 숫자로 다뤄야 하는 문제(암호화, 알파벳 순서 계산 등)에서 씁니다.
print(ord("A")) # 출력: 65 (문자 → 숫자)
print(ord("a")) # 출력: 97
print(chr(65)) # 출력: A (숫자 → 문자)
print(chr(ord("A") + 1)) # 출력: B (A 다음 글자)
💡 문자열 뒤집기
s[::-1], 대소문자 변환, 특정 문자 세기, 알파벳 순서 계산은 문자열 문제 단골입니다.join과split은 짝으로 기억하세요. (자르기 ↔ 합치기)