[BOJ] 10818 최소, 최대

[BOJ] 10818 최소, 최대

문제 링크

이 문제를 풀이하면서 최대 최소값을 도춣하기 위해서 list를 정렬하고자 했다. 그러면서 sort()sorted()의 차이를 알아봤는데

  • sort()는 리스트형 메서드로 리스트 원본 값을 정렬한다. = 리턴 값 없음
  • sorted() 는 내장 함수이며 리스트 원본 값은 그대로 두고 정렬 값을 반환한다. = 기존 값 유지하고 정렬된 값을 리턴

나의 풀이

N = int(input())
numbers = list(map(int, input().split(" ")))

numbers.sort()

for i in range(len(numbers)):
  if len(numbers) == 1:
    print(numbers[i], end=" ")
    print(numbers[i])
  else:
    if i == 0:
      print(numbers[i], end=" ")
    elif i == (len(numbers) -1):
      print(numbers[i])

다른 풀이

n = int(input())
list = list(map(int, input().split()))
print(min(list), max(list))

다른 풀이를 보니, 최소값과 최대값을 출력할 때에는 그냥 메서드 쓰면 되겠다. 예제 풀이를 많이 하면서 메서드와 익숙해질 수 있도록 해야겠다. 특히나 내가 직접 구현한 min, max를 출력하는 로직은 반례가 생길 여지가 있기에 불확실성이 생긴다.

첫 시도에서 N=1 인 경우를 고려하지 않아서 값을 제대로 출력하지 못했다.

결론 : 메서드 쓰자


© 2021. All rights reserved.