coding_test
[백준] 11945. 뜨거운 붕어빵 (파이썬)
aeightchill
2025. 3. 8. 13:33
728x90
🗂️ 문제

📌 Point
문자열(String)
문자열 반전
슬라이싱(Slicing) 활용 ( [::-1] )
text = "hello"
reversed_text = text[::-1]
print(reversed_text) # 출력: olleh
- [::-1]은 슬라이싱 문법으로, 시작 인덱스부터 끝 인덱스까지 -1씩 이동하면서 문자열을 생성한다.
- 시간 복잡도 : O(N) (N : 문자열의 길이)
reversed() 함수 활용
text = "hello"
reversed_text = ''.join(reversed(text))
print(reversed_text) # 출력: olleh
- reversed()는 문자열을 뒤집어주는 iterator를 반환한다.
- join()으로 문자열을 다시 합쳐서 출력한다.
- 시간 복잡도 : O(N)
반복문으로 구현
text = "hello"
reversed_text = ""
for char in text:
reversed_text = char + reversed_text
print(reversed_text) # 출력: olleh
- 문자열을 순회하며 각 문자를 기존 결과의 앞에 붙이는 방식
- 시간 복잡도 : O(N^2)
📄 코드
def main():
N, M = map(int, input().split())
bungeobbang = [str(input())[::-1] for _ in range(N)]
print(*bungeobbang, sep='\n')
if __name__ == "__main__":
main()
✍🏻 풀이
시간 복잡도 : O(N⋅M)
입력받은 bungeobbang을 좌우반전해서 출력해야 하므로 한 줄씩 입력받을 때마다 [::-1]로 문자열 반전을 해서 리스트에 넣어준다.
728x90