[백준] 5648번 역원소 정렬 ★★

거북이·2023년 3월 13일
1

백준[실버5]

목록 보기
101/114
post-thumbnail

💡문제접근

  • 입력이 한 줄에 걸쳐서 들어오는 것이 아니라 여러 줄에 무작위 개수로 나누어 들어오는 것이 이 문제의 특징이다. 처음에는 예외 처리인가 싶어서 입력이 끝날 때까지 입력을 받을 수 있는 EOFError를 이용했는데 계속 틀려서 질문게시판에 있는 질문 내용을 참고해서 구글링하여 공부한 후 이 문제를 도전했는데 겨우 해결할 수 있었다.

💡코드

import sys
input = sys.stdin.read

# *S로 선언한 이유 : Python에서 *을 붙여서 변수를 선언해주면 정해지지 않은 개수의 입력값이 들어온다는 의미이다. 
N, *S = input().split()
for i in range(int(N)):
    S[i] = S[i][::-1]
S = list(map(int, S))
print(*sorted(S), sep="\n")

💡Python 코딩테스트를 준비하면서 알아두어야 하는 내용

📌 sys.stdin.readline() vs sys.stdin.readlines() vs sys.stdin.read() 특징 정리

import sys

# 문자열 하나를 읽는다.
line = sys.stdin.readline()
print(line)
import sys

# 입력이 끝날 때까지(Ctrl+D) 입력을 받을 수 있다.
# 개행문자(\n)가 포함된 상태로 반환이 되고 반환 형태는 리스트 형태이다.
line = sys.stdin.readlines()
print(line)
import sys

# 입력이 끝날 때까지(Ctrl+D) 입력을 받을 수 있다.
# sep='\n' 형태가 적용된 것처럼 한 줄에 하나씩 출력이 된다.
line = sys.stdin.read()
print(line)

📌 Python에서 *과 **의 의미는?

  • Python에서 *

💡소요시간 : 1h

0개의 댓글