가장 큰 값 && 가장 작은 값

김키핑·2026년 9월 25일
post-thumbnail

문제

링크

둘 이상의 정수가 공백으로 구분되어 있다. 최댓값과 최솟값을 구하여 반환하라


사용한 함수

min : 가장 작은 숫자를 반환함

max : 가장 큰 수를 반환함


풀이과정

min과 max를 활용한 단순 풀이.

  1. 공백을 기준으로 주어진 문자열 s를 분리하고, 숫자로 형변환을 한다.
  2. min , max로 최솟값과 최댓값을 찾는다.
  3. 다시 문자로 변환후 이어 붙여 출력한다.
def solution(s):
    answer = list(map(int, s.split(' ')))
    return str(min(answer)) +  " " + str(max(answer))

다른 사람 풀이

내장 메서드와 람다함수를 이용한 코드.

  1. 문자열을 공백 기준으로 분리 후 숫자로 형변환한다.
  2. 리스트로 만들고, 한 번 더 리스트로 감싼다. map은 원소마다 함수를 적용하므로, 감싸야 리스트 전체가 람다에 한 번에 들어간다.
  3. map에 람다함수를 넘겨 최솟값과 최댓값을 찾아 문자로 이어붙이도록 한다.
  4. map은 이터레이터를 반환하므로, __next__()로 값을 꺼내는 순간 람다가 실행되고 그 결과를 반환한다.
def solution(s):
    return map(lambda x: str(min(x))+" "+str(max(x)), [list(map(int,s.split(" ")))]).__next__()

생각한 것

1. 내장함수는 편리하지만, 언어별로 차이가 있을 수 있기에 잘 기억해야한다.

C에는 min 함수와 max 함수가 없고,
자바스크립트에서는 최댓값과 최솟값을 구할 때 Math.max()와 Math.min() 메서드를 쓴다.
여러가지 언어를 사용할 때는 개념을 혼동하지 않도록 주의가 필요할 듯하다.

2. 느슨한 규칙 적용

그동안 '생각한 것, 느낀 점' 탭에 대한 부담감 때문에 코딩 테스트 풀이 글을 많이 작성하지 못했다.
부담감을 내려놓고 풀이 과정을 회고하면서 관련 개념을 정리해보고자 한다.

profile
양치기소녀

0개의 댓글