문제 설명
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/12939
문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
풀이 방법
- 레벨2 치고는 쉬운 문제였던 것 같다. 문자열을 배열에 직접 할당하고, 배열을 돌면서 값을 비교하며 min, max를 구하고 이후 +를 통해 문자열 연결을 시행했다.
풀이 코드
function solution(s) {
let answer = '';
const array = s.split(" ");
let [min, max] = [Number(array[0]), Number(array[0])];
array.forEach((value, idx) => {
//나머지는 값을 비교하여 최대와 최소를 바꾼다.
if(Number(value) > max){
max = Number(value);
}
else if(Number(value) < min){
min = Number(value);
}
})
return min + " " + max;
}
회고
- 변수를 처음에 아래와 같이 저장했었는데... 안 되는줄 몰랐다. min 값이 초기화가 안되는 거였다
let min, max = Number(array[0]); //안되던 코드
let [min, max] = [Number(array[0]), Number(array[0])]; //되는 코드
- 그 후 아래처럼 수정하여서 직접 분해 할당을 해줬고, 정상적으로 할당이 되었다.
- 다음부터는 코드 줄일 생각말고 그대로 쓰던가 분해 할당을 하던가 해야겠다...
'알고리즘' 카테고리의 다른 글
[백준] 14500 테트로미노 - Java (0) | 2025.01.13 |
---|---|
[프로그래머스] 올바른 괄호 - JavaScript (0) | 2025.01.09 |
[프로그래머스] PCCP 기출문제 1- 동영상 재생기, JavaScript (0) | 2025.01.07 |
[프로그래머스] 기사단원의 무기, JavaScript (0) | 2025.01.06 |
[프로그래머스] 캐시, JavaScript (0) | 2025.01.06 |