큰 수 출력하기
N(1<=N<=100)개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작
성하세요.(첫 번째 수는 무조건 출력한다)
▣ 입력설명
첫 줄에 자연수 N이 주어지고, 그 다음 줄에 N개의 정수가 입력된다.
▣ 출력설명
자신의 바로 앞 수보다 큰 수만 한 줄로 출력한다.
▣ 입력예제 1
6
7 3 9 5 6 12
▣ 출력예제 1
7 9 6 12
📌작성코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr) {
let answer = []; //빈배열
answer.push(arr[0]) //빈배열에 7을
for (let i = 1; i < arr.length; i++) {
if (arr[i] > arr[i - 1]) { //자신이 앞 수보다 커야함
answer.push(arr[i]) //결과값에 배열을 집어넣음
}
}
return answer;
}
let arr = [7, 3, 9, 5, 6, 12];
console.log(solution(arr));
</script>
</body>
</html>
어떤 배열이있고, 그 배열의 앞 수와 자신을 비교해서 앞 수보다 자신이 크면 그 값을 넣어주는 것이다.
예를들어 3과 9가 있으면 3보다 9가 더 크기때문에 9를 넣어주고
9와 5가 있으면 5보다 9가 더 크기때문에 값을 넣지않고, 그냥 넘어가게 된다.
그런데 여기서!?
첫 수는 무조건 출력해야되니까
배열의 맨 첫번째 인덱스를 push()를 사용하여 빈배열에 첫번째 값으로 넣어줬다.
if 조건문에 arr[i] (자기자신)이 arr[i-1] (자신의 앞 수)보다 크다면?
참이면 answer에 arr[i] 를 푸쉬해준다.
'알고리즘' 카테고리의 다른 글
[알고리즘 문제] 2-3번 (0) | 2022.06.02 |
---|---|
[알고리즘 문제] 2-2번 (0) | 2022.06.02 |
[알고리즘 문제] 17번 (0) | 2022.05.31 |
[알고리즘 문제] 16번 (0) | 2022.05.31 |
[알고리즘 문제] 15번 (0) | 2022.05.30 |