최대 1 분 소요

1. 문제Permalink

[level 2] 최댓값과 최솟값 - 12939Permalink

문제 링크

성능 요약Permalink

메모리: 10.4 MB, 시간: 0.04 ms

구분Permalink

코딩테스트 연습 > 연습문제

채점결과Permalink


정확성: 100.0
합계: 100.0 / 100.0

문제 설명Permalink

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

제한 조건
  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예
s return
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

2. 해결방법 시간복잡도Permalink

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드Permalink


def solution(s):
h = [int(i) for i in s.split()]
result = str(min(h)), str(max(h))
return " ".join(result)
view raw 12939.py hosted with ❤ by GitHub
  • 주석을 참고하면서 이해를 돕습니다.Permalink

4. 알고리즘 및 해설Permalink

  1. 컴프리핸션을 통해서 입력값을 공백을 기준으로 나눈 뒤 정수형으로 받은 값으로 이루어진 리스트를 만든다.
  2. 이후 리스트내에서 가장 작은 값과, 가장 큰 값을 문자열로 만든다.
  3. 만든 두 값을 하나로 출력해주고 위해 join() 함수를 이용해서 출력한다.