파이썬(Python)/백준(Baekjoon) 문제 풀이

[백준, python] 10871번 : x보다 작은 수(for문)

sunning 2022. 3. 19. 21:24
728x90
반응형

백준 10871번 문제 풀기


문제 설명

문제

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.

 

예제 입력
예제 출력
10 5
1 10 4 9 2 3 8 5 7 6
1 4 2 3

알고리즘 및 설명

내가 구현한 코드는 아래와 같다.

 

import sys
N, X = map(int, sys.stdin.readline().split())
A = list(map(int, sys.stdin.readline().split()))

for n in range(N):
    if A[n] < X:
        print(A[n], end = ' ')

 

입력 받는 변수의 개수가 늘어나는 경우, 이를 변수로 하나씩 받으면 비효율적이므로 리스트 형태로 하여 배열 A에 한 번에 받아주었다.

또한, print로 줄바꿈하지 않고 띄어쓰기로 프린트하는 방법에서 순간 멈칫 했었는데,

print의 end 기본값이 '\n'으로 설정되어 자동으로 줄바꿈이 되는 것이므로 그 설정을 공백으로 변경해주면 쉽고 간단하게 해결할 수 있다.

백준 문제를 풀면서 input()으로 입력값을 받지 않고 sys 모듈을 사용하는 것에 점점 익숙해져가는 중이다!

728x90
반응형