본문 바로가기
I am a developer

백준 / Python / 10871 / X보다 작은 수 / 문제풀이

by Echinacea 2023. 4. 25.
반응형

문제 설명

문제의 목적

  • 입력값 두 개를 한 번에 받을 줄 아는지(map을 사용할 줄 아는지)
  • 입력받은 값을 배열로 넣을 줄 아는지
  • 배열의 출력을 int 형태로 할 줄 아는지

문제 풀이 순서

  1. 10 5 < 처럼 받으려면 첫 줄에 map 함수를 사용해 두 값을 먼저 담아야 한다.

     A,B = map(int, input().split())
  2. 둘째 줄에 입력받은 숫자들을 배열의 형태로 담아야 한다. 이 때 입력할 숫자들 사이는 공백으로 구분해줘야 하기 때문에, split() 함수를 split(’ ‘) 으로 변경해 주었다.

     Alist = list(input().split(' '))
  3. 출력을 위한 새로운 배열을 하나 생성해야 한다

     Clist = []
  4. Alist 에 담긴 값들을 문제에서 요구하는 사항과 같이 값을 비교하여 새로운 배열 Clist 에 하나씩 담는다

     for i in range(A):
         if int(Alist[i]) < B:
             Clist.append(int(Alist[i]))
  5. 결과값은 배열의 형태가 아닌 ‘숫자공백숫자공백’의 형태이므로 틀에 맞추기 위해 for문을 돌려 출력한다. 대신 간격은 ‘ ‘ 이어야하므로 end=’ ‘ 로 설정해주면 된다.

     for i in Clist:
         print(i, sep=' ', end=' ')

정답 코드

A,B = map(int, input().split())
Alist = list(input().split(' '))
Clist = []
for i in range(A):
    if int(Alist[i]) < B:
        Clist.append(int(Alist[i]))

for i in Clist:
    print(i, sep=' ', end=' ')
반응형

댓글