BOJ

백준 파이썬 10871 X보다 작은 수

Coding_SJ 2020. 3. 17. 01:35

 

 

 

 

 

 

내 풀이

1
2
3
4
5
6
N,X = map(int,input().split())
= list(map(int,input().split()))
for i in range(N):
    if A[i] < X:
        print(A[i], end=' ')
 
cs

 

 

 

 

 

고인물식 풀이(숏코딩)

1
2
x,y = input().split()
print* [i for i in input().split() if int(i) < int(y) ] )
cs

 

 

일단 배열 선언할 때

 

A = [i for i in input().split()] 이런식으로 배열 선언할 줄도 알아야하고.

 

A = [int(i) for i in input().split()] 위에꺼는 str이고 아래꺼는 int형임

 

*은 print를 위해서 배열벗기는 작업이고. 가로로 출력되는거고..

 

배열안 뒷부분에 if문을 아에 넣어버렸다는 점..

 

그리고 이 분은 입력할때도 그냥 다 str으로 해놓고 비교할때만 int붙임.. 최종 print할때 그게 str이든 int든 상관없다는걸 다 생각해서 계획한 코딩..

 

 

 

A = input().split() 해놓고 1 2 3 입력후 print(A[1])하면 2가 출력된다

즉 input().split()는 공백으로 str을 분리하는 배열인것이다.

 

for i in range 처럼 range자리에 배열이 와야 된다고 생각해서 저 표현이 어색하다고 생각했는데

for i in input().split() 에서 input().split() 자체가 배열이니까 이제 이해가 된다.

 

만약에 A = [ input().split() ] 이래버리면 배열 속 배열이라서

A[0] = input().split()이 된다.