[python3] 백준 10871번

silver의 개발개발·2023년 4월 5일
0

알고리즘 정리

목록 보기
4/15

백준 10871번

문제

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

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

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

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

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

코드

N, X = map(int, input().split())
A = list(map(int, input().split()))
for i in range(N):
  if X > A[i]: 
    print(A[i], end = ' ')

풀이

처음에는 아래와 같이 코드를 작성하였다.

N, X = map(int, input().split())
A = list(map(int, input().splilt()))
v = ''
for i in range(N):
  if X > int(A[i]): v += A[i]
print(int(v))

이전 문제에서 여러 정수를 input으로 받은 후 바로 list에 저장하는 방법을 알게 되어서 이번 문제에 적용하였는데, 그 과정에서 문제가 생겼다.
A의 list 값들은 정수로 저장되었으므로 str 형태(v = '')를 사용할 수 없다.
또한, 공백으로 구분해 출력하기 위해선 end = ' ' 를 사용한다.

0개의 댓글