본문 바로가기

코딩테스트/코딩 테스트 입문

문자열 정렬하기(2)

문제

 

 

# 내 풀이

내 풀이

 

 

# 풀이

  • str.join(iterable) : 문자열(iterable)들을 이어 붙여 돌려준다. iterable에 bytes 객체나 기타 문자열이 아닌 값이 있으면 TypeError를 일으킨다. 
  • sorted(iterable, /, *, key=None, reverse=False) : iterable의 항목들로 새 정렬된 리스트를 돌려준다. 
  • str.lower() : 모든 케이스 문자가 소문자로 변환된 문자열의 복사본을 돌려준다.

→ 3개의 함수는 Python 내장형 함수이다.

my_string = "HeLlo"

my_string = my_string.lower()
print(my_string)

my_string = sorted(my_string)
print(my_string)

my_string = "".join(my_string)
print(my_string)

 

콘솔

 

 

 

# iterable : 

맴버를 한 번에 하나씩 반환할 수 있는 객체이다. (for 문에서 순서대로 반복해서 꺼낼 수 있는 것)

my_list = [1, 2, 3]

for num in my_list:
    print(num)

 

iterable의 예시 :

  • 리스트(list),  문자열(str), 튜플(tuple) 같은 시퀀스 자료형(순서가 있는 자료형)
  • 딕셔너리(dict) 같은 순서가 없어도 키-값을 하나씩 꺼낼 수 있는 자료형
  • 파일 객체(file object) (파일을 한 줄씩 읽을 수 있다.)
  • 직접 만든 클래스 ( __iter__() 메서드나 __getitem__() 메서드를 구현하면, 원하는 방식으로 동작하는 iterable 만들 수 있다.)

iter() 함수와 iterable

iterable을 iter() 함수에 넣으면 "iterator(이터레이터)"가 만들어진다. 이 이터레이터는 next() 함수를 써서 값을 하나씩 꺼낼 수 있다.

my_list = [1, 2, 3]
it = iter(my_list)  # 리스트를 이터레이터로 변환

print(next(it))  # 1
print(next(it))  # 2
print(next(it))  # 3

 

이터레이터는 한 번 순회하면 다시 처음부터 못 돌아가고, 필요하면 새로 만들어야 한다.

보통은 for 문이 자동으로 iter()를 호출해서 이 과정을 신경 쓸 필요 없이 반복문을 사용할 수 있다.

 

 

 

출처 : https://docs.python.org/3/

'코딩테스트 > 코딩 테스트 입문' 카테고리의 다른 글

외계 행성의 나이  (0) 2025.03.07
피자 나눠 먹기 (2)  (0) 2025.03.07
암호 해독  (0) 2025.03.05
문자열 정렬하기(1)  (0) 2025.03.04
직각삼각형 출력하기  (0) 2025.02.10