Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 1904
- 함수 이놈
- 2667
- 함수 arguments
- 1236
- 호이스팅
- 배열같은배열아닌너
- event loop
- setTiemOut
- html5
- 동적계획법
- 비동기처리
- 함수 parmater
- 백준
- 탐욕 알고리즘
- 함수 선언문
- 렉시컬 스코프
- 1668
- 11399
- 1568
- Async/Await
- 11047
- 1931
- 유사배열
- javascript
- 9461
- baekjoon
- 1302
- 1543
- 자류구조
Archives
- Today
- Total
두치의 개발공부
BaekJoon_1668(트로피 진열) 본문
문제
https://www.acmicpc.net/problem/1668
문제 풀이
처음에 문제를 보면 무슨 소리인지 잘 모르겠으나 그림을 그려보면 어렵지 않게 이해할 수 있다.
왼쪽에서 봤을 때 보이는 트로피는 1,4,5,7 로 4개이다.
오른쪽에서 봤을 때 보이는 트로피는 1,7 로 2개이다.
본인보다 더 큰 트로피가 있는 경우에만 카운트 해 주면 된다.
왼쪽에서 먼저 체크 후 배열을 reverse한 후 다시 체크 하면 오른쪽에서 본 트로피를 확인할 수 있다.
똑같은 체크를 행위는 함수로 따로 만들어서 구현하면 좀 더 깔끔한 코드를 작성할 수 있다 :)
소스코드
const count = (arr) => {
let count = 1;
let data = arr[0]
for (let index = 1; index < arr.length; index++) {
if(data < arr[index]){
data = arr[index]
count += 1;
}
}
console.log(count);
}
const answer = ([input,...n]) => {
const arr = n.map(Number);
count(arr);
arr.reverse();
count(arr);
}
const input = [];
require("readline")
.createInterface(process.stdin, process.stdout)
.on("line", (line) => {
input.push(line);
})
.on("close", () => {
answer(input);
process.exit();
});
소스코드는 깃헙에서도 확인 할 수 있습니다. 🤗
https://github.com/duduchi/Algorithm/blob/main/Search/BaekJoon_1668.js
'알고리즘' 카테고리의 다른 글
BaekJoon_2667 (단지번호붙이기) (0) | 2022.07.11 |
---|---|
BaekJoon_1236 (성 지키기) (0) | 2022.07.05 |
BaekJoon_1032(베스트셀러) (0) | 2022.06.28 |
BaekJoon_1568(새) (0) | 2022.06.27 |
BaekJoon_1543(문서 검색) (0) | 2022.06.23 |