본문 바로가기
  • 시 쓰는 개발자
알고리즘/코테 스터디 (2024)

9093 단어 뒤집기

by poetDeveloper 2024. 7. 13.
반응형

💡문제 분석 요약

  • 문장이 주어졌을 때 띄어쓰기를 기준으로, 단어별로 거꾸로 출력해본다.

💡알고리즘 설계

  • 각 단어별로 reverse 함수같은 것이 있다면 쓸 수 있어보인다.
  • 그게 아니라면 어제 했던 것 처럼, deque을 사용하고 해당 단어의 길이만큼 첫번째원소 pop 후 맨 뒤에 append를 반복해도 될 듯 하다.

💡코드

for _ in range(int(input())):
    lst = input().split()
    for i in range(len(lst)):
        lst[i] = lst[i][::-1] # 각 원소별 순서 뒤집기
        print(lst[i], end=' ')

💡시간복잡도

  •  문장의 길이만큼만 반복되므로 O(N)이고, 최대 문장 길이가 1000이므로 문제가 없을 것으로 보인다.

💡 틀린 이유

  • lst[i]에 대해서 뒤집어야하는데 lst에 대해서 뒤집느라 처음에 잠시 오류가 있었다.
  • reversed sort 하면 될 줄 알고 했다가, 알파벳 사전 순서대로 뒤집어져서 오류가 있었다.

💡 틀린 부분 수정 or 다른 풀이

  • lst[i]에 대해서 접근하기 = 각 단어별로 접근해 뒤집기
  • deque를 이용해서 각 단어에 대해서 popleft & append를 해도 풀 수 있을 것 같다. 주말중으로 추가해보자.

💡 느낀점 or 기억할정보

  • 원소별 순서 뒤집기는 lst[::-1]
  • 문자에 대해서 sort를 하면 알파벳 순서대로 정렬된다.
반응형

'알고리즘 > 코테 스터디 (2024)' 카테고리의 다른 글

1260 DFS와 BFS  (0) 2024.07.15
Programmers 주식가격  (0) 2024.07.14
1966 프린터 큐, Programmers 프로세스  (0) 2024.07.12
9012 괄호  (0) 2024.07.11
Programmers 다리를 지나는 트럭  (0) 2024.07.10