코딩테스트/백준
백준 > 단계별로 풀어보기 > 1차원 배열 > 10871번: X보다 작은 수
나는야석사
2024. 7. 16. 11:49
문제
정수 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, sys.stdin.readline().split()))
lst = []
for i in A:
if i < X:
lst.append(i)
print(lst)
출력
[1, 4, 2, 3]
N, X = map(int, input().split())
A = list(map(int, sys.stdin.readline().split()))
lst = []
for i in A:
if i < X:
lst.append(i)
print(lst)
num = int(map(int, lst))
print(type(num))
print(num)
# 출력
[1, 4, 2, 3]
<class 'map'>
<map object at 0x00000177F8FB5088>
검색 ㄱㄱ
리스트에 추가하면 출력 형태가 다르니 print문에서 end로....
다시 풀어보자
N, X = map(int, input().split())
A = list(map(int, sys.stdin.readline().split()))
for i in A:
if i < X:
print(i, end=" ")
vscode에서는 잘 돌아가는데 왜 런타임에러가..? NameError가 왜 뜨지...
N, X = map(int, input().split())
A = list(map(int, input().split()))
for i in A:
if i < X:
print(i, end=" ")
이건 왜 되는지...... input().split()이랑 sys.stdin.readline().split()이랑 변수를 받는 과정에 차이가 있는 줄 알았는데, sys를 임포트 안했다...
import sys
N, X = map(int, input().split())
A = list(map(int, input().split()))
for i in range(N):
if A[i] < X:
print(A[i], end=" ")
이건 N을 사용한 코드
기억할 것
end에 해당하는 값으로 출력들을 구분해주고 한 줄로 이어줌! end=" " 이면 공백 한 칸으로 출력들을 구분해주고 한 줄로 이어서 출력함!