[백준]10818.최소, 최대

박민하·2022년 5월 14일
0

python 문제

목록 보기
8/49
post-thumbnail

문제

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다

제출 답안

a = int(input())
b = input().split()
lst= []
if len(b) == a:
    for i in b:
        lst.append(int(i))
    print(min(lst), max(lst))
else:
    b = input().split()

정답까지 걸린 시간이 길었던 이유

1. input() 함수의 입력 갯수를 제한할 수 있을 줄 알았다.

  collections 모듈의 deque는 엄밀히 말하면 갯수 제한이 아니었다. 입력 값 중에서 지정 갯수 만큼 잘라서 가져오는거라 패스.
  다른 방법은 없을까 len(), range() 함수를 끼워넣어보고 구글링도 해봤지만 나오지 않았다. 정말 방법이 없는걸까 아니면 못찾은 걸까?

2. 리스트 요소에서 int와 str이란

  처음에는 변수 b에 int 변환을 안하고 제출했다. 정상적으로 작동한다고 생각했는데 오답 처리를 받고 다른 예제를 적용해보니까 min(), max() 함수를 받아들이지 못하고 있더라. 아래는 당황해서 뭐가 문제인지 이것저것 시도해본 결과물😂

▲a = 20 10 35 30 7 일 때의 결과값. 10과 7이 말이 되나
▲오름차순이 엉망이다. 근데 자세히보니 요소 타입이 str이다!

  별거 아닌 문제같은데 시간을 엄청 쏟고 나면 기분이 참 이상하다ㅎㅎㅎㅎ

profile
backend developer 🐌

0개의 댓글