본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지
sw사관학교 정글 2기/01 기초,재귀,완전탐색, 정렬

[기초-반복문] 백준 10871번 -X보다 작은 수- with.Python3

by 금의야행 2021. 8. 7.

https://www.acmicpc.net/problem/10871

 

10871번: X보다 작은 수

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

www.acmicpc.net

문제

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

내 풀이

n, x = map(int, input().split())
a = list(map(int, input().split()))
for i in range(len(a)):
    if a[i] < x:
        print(a[i])

해설

a = list(map(int, input().split()))

예제 입력이 (1 10 4 9 2 3 8 5 7 6) 같은걸 리스트형으로 받을 때 쓰기. 

 

for if 의 퓨전.

코드 대충 쓸때나 쓴 코드 살리면서 고칠 때 아주 유용하다. if for if 문 등이든 아무튼 겁나 좋음. 시간 복잡도도 for for이 아니기에 별로 안높아짐.

 

 

len()

문자열, 리스트의 길이를 알려주는 함수 아주 개꿀이다.

 

 

정답 풀이

count, num = map(int, input().split())
inArr = list(map(int, input().split()))
for i in range(count):
        if inArr[i] < num:
                print(inArr[i], end=" ")
#for문을 이용해 inArr내에 있는 요소들이 num보다 작을때는 출력해주고, 
#print시에 end 옵션을 " " 한칸 띄우는 공백으로 주어 수가 출력되고 난 후에는 
#공백을 같이 출력하여 다음 수와 합쳐지지 않도록 해줍니다

출처:https://gabii.tistory.com/entry/BaekJoonPython3-%EB%B0%B1%EC%A4%80-10871%EB%B2%88-X%EB%B3%B4%EB%8B%A4-%EC%9E%91%EC%9D%80-%EC%88%98

 

해석

for문을 이용해 inArr내에 있는 요소들이 num보다 작을때는 출력해주고, print시에 end 옵션을 " " 한칸 띄우는 공백으로 주어 수가 출력되고 난 후에는 공백을 같이 출력하여 다음 수와 합쳐지지 않도록 해줍니다

 

end는 거의 안써봤는데 필요하면 쓸 수 있다는것만 기억하자.

댓글