Baekjoon/IM Level

[백준] 9093 단어 뒤집기 (브론즈1)

2023. 3. 21. 12:38

문제요약

나의 코드 및 설명

  • 공백으로 구분하여 문자열을 리스트에 저장하고, 공백으로 구분한 문자열의 한 글자 한 글자를 또 하나의 임시 리스트에 저장한다.
  • 임시 리스트에 저장된 문자열의 순서를 뒤집고 출력한다.
t = int(input())
for _ in range(t):
    string = list(input().split())
    for i in range(len(string)):
        temp_list = list(string[i])
        temp_list.reverse()
        for j in range(len(temp_list)):
            print(temp_list[j], end="")
            if j == len(temp_list)-1:
                print(" ",end="")
        if i == len(string)-1:
            print()

다른 코드 및 설명 01 (리스트[::-1]) 

  • 입력한 문자열을 공백으로 구분하여 리스트에 저장하고, 저장된 각 리스트 요소들을 [::-1]을 통해 역순으로 뒤집는다.
t = int(input())
for i in range(t):
    string = list(input().split())
    for words in string:
        print(words[::-1], end = " ")
    print()

다른 코드 및 설명 02 (자료구조 - 스택)

  • 자료구조 - 스택을 이용한 풀이방법이다. 다른 분의 코드를 참고했는데, 풀이 과정이 숙달해볼 필요가 있을 것 같아 작성했다.
  • 문자열을 입력 받고, 공백을 만나기 전까지 스택 리스트에 저장한다. 만약 공백을 만난다면 스택 리스트가 빌 때까지 pop() 함수를 통해 꺼내어 출력한다. 꺼내어 출력한 뒤엔, 공백을 출력하여 띄어쓰기를 표현한다.
  • string += " " : 입력한 문자열에서 공백을 만나야지만 지금까지 스택 리스트에 저장된 글자들을 출력할 수 있으므로, 입력한 문자열 끝에도 공백을 붙인다. 
t = int(input())

for _ in range(t):
    string = input()
    string += " "
    stack = []
    for i in string:
        if i != " ":
            stack.append(i)
        else:
            while stack:
                print(stack.pop(), end = "")
            print(" ", end = "")
    print()

피드백

이번 문제는 백준 17413 단어뒤집기2 문제를 대비하여 풀어보았다. <리스트[::-1]>을 활용하여 문제를 풀었어야하는데 다른 방법으로 문제를 풀어버렸다.. 문자열을 역순으로 출력하는 방법에는 문자열의 단어들을 리스트에 하나씩 넣고, <리스트.reverse()>를 통해 뒤집어 출력하는 방법도 있지만, <리스트[::-1]>을 통해 뒤집어 출력하는 방법도 있다는 것을 꼭 기억하자.

'Baekjoon > IM Level' 카테고리의 다른 글

[백준] 8320 직사각형을 만드는 방법 (브론즈2)  (0) 2023.03.21
[백준] 2980 도로와 신호등 (실버4)  (0) 2023.03.21
[백준] 2292 벌집 (브론즈2)  (0) 2023.03.21
[백준] 2304 창고 다각형 (실버2)  (0) 2023.03.20
[백준] 1063 킹 (실버3)  (2) 2023.03.20
'Baekjoon/IM Level' 카테고리의 다른 글
  • [백준] 8320 직사각형을 만드는 방법 (브론즈2)
  • [백준] 2980 도로와 신호등 (실버4)
  • [백준] 2292 벌집 (브론즈2)
  • [백준] 2304 창고 다각형 (실버2)
hellosonic
hellosonic
hellosonic
꾸준함
hellosonic
전체
오늘
어제
  • 분류 전체보기 (285)
    • SSAFY (4)
    • 프로그래머스 데브코스 (26)
    • Diary (1)
    • JavaScript (20)
    • ToyPJ (13)
      • Python-Django (13)
    • CS지식 (11)
      • 자료구조 (5)
      • 개발 상식 (2)
      • 네트워크 (4)
    • Baekjoon (141)
      • IM Level (57)
      • DFS와 BFS (21)
      • 백트래킹 (21)
      • DP (3)
      • 이분탐색 (4)
      • 구현 (14)
    • Programmers (13)
      • Lv1 (4)
      • Lv2 (9)
    • SWEA (SW Expert Academy) (52)
      • D1 (5)
      • D2 (7)
      • D3 (40)
    • 이코테 (4)
    • Grammar (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 관리자

공지사항

인기 글

태그

  • 파이썬 1946
  • 리액트 todolist
  • 파이썬 2529
  • 자바스크립트 기본기
  • SWEA D3
  • 파이썬 11478
  • 프론트엔드 데브코스
  • 코딩부트캠프
  • 백준 14891
  • 그리디
  • 백준 18870
  • 프로그래머스 데브코스
  • 자바스크립트
  • 백준
  • 국비지원교육
  • 백준 1157
  • SWEA D2
  • 백준 2999
  • 파이썬 1269
  • 구현
  • 백준 5212
  • 이코테
  • 프로그래머스
  • 파이썬 1436
  • SWEA
  • 파이썬
  • SWEA 파이썬
  • javascript ux
  • JS
  • SWEA/D3

최근 댓글

최근 글

hELLO · Designed By 정상우.
hellosonic
[백준] 9093 단어 뒤집기 (브론즈1)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.