1 분 소요

2023-08-13

코딩테스트 준비

백준 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

풀이

먼저 입력값으로 N과 X를 입력받는다. 그리고 N개 만큼의 수열 A를 입력받는다. (사실 N개 만큼이라는 말은 의미가 없는거 같다…)

N,X=map(int,input().split())
A=list(map(int,input().split()))

여기서 A는 list를 사용하여 리스트 형태로 입력받은 것을 저장한다.

다음으로 A의 개수인 N만큼의 조건문을 실행하여 X값과 비교하여 X보다 작은 수를 출력한다. for문과 if문을 이용한다.

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

여기서 for문을 이용하여 i부터 N까지 if문을 실행하며 if문의 조건으로 A[i]>X로 둔다. 만약 이 조건문이 참이 될 경우 비교해서 X보다 작은 수는 공백을 사이에 두고 출력된다. end함수는 문자열이 끝날때 끝부분을 어떻게 처리 할것인지에 대한 함수이다. 쉽게 말해서 문자열들의 사이를 구분을 짓는거라고 생각하면 된다. 우리는 공백으로 하기 때문에 end=“ “로 둔다.


정답
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=" ")

태그:

카테고리:

업데이트:

댓글남기기