정답 코드:
N,X = map(int,input().split())
A = [int(x) for x in input().split()]
for i in A:
if i < X:
print(i,end=" ")
코드 풀이:
N개의 정수와 정해지는 수 X를 입력 받고,
A 배열을 입력 받는다.
for 문을 통해 A배열을 반복해서,
if 문 조건인 i < X 일 때의
i를 print해주면 값을 얻을 수 있다!
이 때 end=" "를 써주는 이유는
1
4
2
3
이런 식으로 출력되는 print(a[i]) 를
1 4 2 3 이런 식으로 문제 예제 정답처럼 프린트 해주는 방법이기 때문이다!
비슷한 예로는 print(a,b,c,d,sep=" ") 가 있는데 이건 , 를 띄어쓰기로 대체해주기에
a b c d 로 출력된다!
===== 효율적인 코드 =====
a,b = map(int,input().split())
score = [x for x in input().split() if int(x)<b]
print(' '.join(score))
문제 해답들을 보면서 좀 더 효율적이고, 좋아보이는 코드들을 추가해서
공부해보려고 한다.
위 코드는 내가 짠 코드보다 훨씬 단순하면서, join이라는 배열을 문자열로 바꿔주는
실질적인 기능을 담고있어서, 활용하면 좋을 것 같다!
풀이하자면 a,b 를 담는 건 똑같고
score라는 배열을 만들어서 , [x for x in inpu().split() 조건]
조건에 해당하는 값들만 배열에 입력 받고,
print(' '.join(score)) 로 출력하는데,
'구분자'.join(score)) 는 score 배열을 구분자로 출력하는 기능으로,
'-'.join(arr) 시 위 문제에선 1-4-2-3 으로 출력된다, 공백을 넣어 주면서
문제에서 원하는 답인 1 4 2 3 을 출력할 수 있다.