Programmers Coding test/배열 유형
[프로그래머스] 배열 내에서, 최댓값 반환
Lethargin
2023. 5. 31. 00:02
Q1. [3, 5, 6, 1, 2, 4]과 같이 숫자로 이루어진 배열이 있을 때, 이 배열 내에서 가장 큰 수를 반환하시오.
A1.
<로직>
-배열 안의 모든 다른 숫자와 비교한다. -> 반복문 2번 사용
-다른 모든 값보다 크다면, 반복문을 중단한다.
function solution(array) {
//1. num이라는 실험군 차출
for (let i = 0; i<array.length; i++) {
let num = array[i];
for (let j = 0; j<array.length; j++) {
if (num < array[i]) {
break; //2. 만약, 대조군 중에 실험군보다 큰 애가 있다면 -> 실험군 탈락이어서 break
}
if (j === array.length -1) { //⭐️1. j는 대조군의 인덱스를 의미한다. 2. array.length-1이라는건, 반복을 끝까지 돌았다는 뜻.
return num;
}
}
}
}
A2.
<로직>
-일단 가장 큰 수를 지정해서 변수에 할당해둔다.
-배열 내에서 반복문을 돌며 -> 그 제일 큰 변수랑 비교한다.
function solution(array) {
//1.가장 큰 수를 담을 변수 -> 0번째 인덱스 값으로 초기화한다.
let maxNum = array[0];
//2.반복문을 돈다.
for (let i = 0; i < array.length; i++) {
//배열 내, 더 큰 수가 있다면 -> maxNum 값 바뀜
if (array[i] > maxNum) {
maxNum = array[i]
}
}
return maxNum
}
Q2.
답안1) for문
답안2) Math.max