시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
1 초 | 256MB | 83459 | 46399 | 39870 | 56.540% |
문제
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)
둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력
X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.
예제
예제 입력 1 | 예제 출력 110 |
10 5 1 10 4 9 2 3 8 5 7 6 |
1 4 2 3 |
문제풀이
import sys
i=sys.stdin.readline
N,X=map(int,i().split())
A=list(filter(lambda a: a< X,map(int,i().split())))
for a in A:
print(a, end=' ')
#좀더 길게 풀어쓰기
import sys
i = sys.stdin.readline
N,X = map(int, i().split())
def isSmallerThanX(a):
return a<X
A = list(map(int,i().split()))
List = list(filter(isSmallerThanX,A))
for a in List:
print(a, end=' ')
#list comprehension 사용시
import sys
i = sys.stdin.readline
N,X = map(int, i().split())
A = list(map(int,i().split()))
List = [a for a in A if a<X]
for a in List:
print(a, end=' ')
# for문 사용하지 않고 풀기
import sys
i = sys.stdin.readline
N,X = map(int,i().split())
A = list(filter(lambda a: a< X,map(int,i().split())))
print(*A, sep=' ')
개념
1. range() 2. sys.stdin.readline 3. map() 4. filter() & list comprehension 5. lambda() 6. end= 7. sep=
1. wikidocs_점프투파이썬: for in 반복문, Range, enumerate
1. w3schools.com: Python rnage() function
2. 그저 그런 컴공생님의 블로그: Python sys.stdin과 sys.stdin.readline()
2. BOJ질문게시판: 시간초과질문(sys.stdin...을 써야하는 이유)
4. 똑똑이님의 블로그: Python 리스트 필터링하기
5. WikiDocs: 왕초보를 위한 Python: 람다(lambda)
6. 토이터님의 블로그: 파이썬 print함수 줄바꿈(\n)제거하고 출력하기
결과
시간 | 메모리 | 코드 길이 |
72 ms | 29532 KB | 142 B |
시간 | 메모리 | 코드 길이 |
72 ms | 29532 KB | 205 B |
시간 | 메모리 | 코드 길이 |
68 ms | 29532 KB | 160 B |
시간 | 메모리 | 코드 길이 |
64 ms | 29532 KB | 133 B |
나도 문제풀러 가기
10871번: X보다 작은 수
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
www.acmicpc.net
'<TIL> > BaekJoon_문제풀이' 카테고리의 다른 글
4단계(while문)_10951번_A+B(4) _종결조건이 없는 경우 (0) | 2020.09.12 |
---|---|
4단계(while문)_10952번_A+B(5) (0) | 2020.09.12 |
3단계(for문)_2439번_별 찍기-2 (0) | 2020.09.11 |
3단계(for문)_2438번_별 찍기-1 (0) | 2020.09.11 |
3단계(for문)_11022번_A+B (8) (0) | 2020.09.11 |