[코딩테스트]프로그래머스 - 최댓값과 최솟값

Adela·2020년 5월 21일
0

프로그래머스

목록 보기
16/30
post-thumbnail

최댓값과 최솟값

문제 설명

문자열 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"

해결한 나의 코드

function solution(s){
  var answer = []
  s = s.split(' ').sort((a,b) => a/1-b/1)
  answer = push(s[0], ' ', s[s.length-1])
  var result = answer.join('')
  return result
}

나의 알고리즘

  1. 공백을 중심으로 split 한다.
  2. 오름차순으로 정렬한다.
  3. 첫번째 숫자와 마지막 숫자를 꺼낸다. 이 둘 사이에 공백을 추가한다.
  4. 이를 문자열로 반환한다.

나는 왜 굳이 배열에 넣어서 join해서 반환했을까..?
s[0] + " " + s[s.length-1] 해서 문자열로 반환해도 되었을 것 같은데 말이지..

요즘 문득 드는 생각인데, 나에게 쉽고 간단했다 할지라도 "이건 쉬운 문제다", "너무 간단하다" 라는 표현은 지양해야겠다는 생각이 들었다. 사실 코테 연습을 처음 시작했을 때 정말 기초적인 문제도 어려워서 몇 시간을 헤맸고, 많은 삽질의 시간을 거쳐 결국 누군가 구현해 놓은 코드를 본 후 깊은 좌절감에 빠졌을 때, '간단하게 해결했다.' 는 표현에서 의도치 않게 상처를 받았다.

적어도 내 글을 보게 된 누군가가 상처받길 원하지 않기에...

profile
개발 공부하는 심리학도

0개의 댓글