티스토리 뷰
백준 10871번 X보다 작은 수
알고리즘 분류: 수학, 구현
링크: https://www.acmicpc.net/problem/10871
문제
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)
둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력
X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.
문제 파악
이 문제는 두번째 입력값으로 주어지는 수 중에서 첫째 줄에 주어지는 X의 입력값보다 작은 수를 모두 찾아내는
간단한 문제이다.
다만 주의해야 할 점은 출력을 할 때 리스트 모양 그대로 출력을 하는 것이 아니라
이를 공백으로 구분되는 문자열로 출력을 해야된다.
코드
두번째 줄에 입력값으로 주어지는 수들을 num_list라는 리스트에 담아두고
x보다 작은 수들을 넣어둘 answer_list라는 변수를 선언해둔다.
for문을 돌면서 num_list의 인덱스 중에서 x보다 작은 수들을 answer_list에 넣는다.
사실 이 문제를 틀렸다면 리스트를 문자열로 변환하는 과정에서 틀린 사람들일 것이다.
만약 answer_list안에 있는 인덱스들이 str형이였다면 바로
answer = " ".join(answer_list)
이런식으로 쓸 수 있었겠지만 answer_list 안에 인덱스들이 int형이기 때문에 str형으로 변형해주고
join함수를 써줘야 한다.
그래서 이를 한번에 처리하기 위해서
answer = " ".join([str(_) for _ in answer_list])
이렇게 써주면 answer_list안에있는 인덱스들을 str형으로 바꿔주면서 바로 문자열로 합쳐줄수있다.
마지막으로 이렇게 공백으로 구분되있는 문자열을 출력해주면 된다.
'Python 알고리즘' 카테고리의 다른 글
백준 3052번 파이썬 풀이: 나머지 (0) | 2020.09.01 |
---|---|
백준 10996번 파이썬 풀이: 별 찍기 - 21 (0) | 2020.09.01 |
백준 1978번 파이썬 풀이: 소수 찾기 (0) | 2020.09.01 |
백준 2941번 파이썬 풀이: 크로아티아 알파벳 (2) | 2020.08.31 |
백준 5620번 파이썬 풀이: 가장 가까운 두 점의 거리 (0) | 2020.08.31 |