image

Bronze Ⅴ 🔗10871. X보다 작은 수

📝문제 요약

문제 설명

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

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

입력

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.

출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.


✏️문제 풀이

  • n, x를 입력 받을 수 있도록 설정하고 a는 list로 만들어서 문제를 해결하고자 했다.
  • x보다 값이 크면 해당 숫자를 저장할 리스트 n_list도 생성하였다.
  • for문을 사용하여서 a 리스트만큼 반복
    • if 문을 사용하여 x보다 크면 .append() 를 사용하여 n_list에 저장하였다.
  • s 변수를 만들어서 n_list의 요소들을 .join()을 통해 붙여주었다.
    • 여기서 조금 에러가 많이 났는데 join은 문자열만 가능해서 int > str로 변환하였다.
  • 그리고 s를 출력
n,x = map(int, input().split())
a = list(map(int, input().split()))
n_list =[]

for i in a :
    if i < x :
        n_list.append(i)
s = ' '.join(map(str, n_list))
print(s)

⁉️ 런타임에러(NameError)

  • 어디서 문제인지는 못찾았다.. 도대체 어디가 런타임 에러난건지ㅜㅜ
  • 계속 고민하다가보니 리스트를 안쓰고 문제를 풀 수 있을 것 같았다.

  • print()를 반복해서 사용하여 x보다 큰 숫자를 출력시키기
  • 위와 똑같이 if문을 사용하였고, print(i, end = ' ') 를 사용하여서 i를 출력하고 공백을 하나 준 뒤 다음 숫자를 출력하게 만들었다.

      if i < x :
      		print(i, end=' ')
    


💯제출 코드

n,x = map(int, input().split())
a = map(int, input().split())

for i in a :
    if i < x :
        print(i, end=' ')

댓글남기기