두치의 개발공부

BaekJoon_1668(트로피 진열) 본문

알고리즘

BaekJoon_1668(트로피 진열)

Du_chi 2022. 6. 29. 22:14

문제

https://www.acmicpc.net/problem/1668

 

1668번: 트로피 진열

민식이는 “오민식”이라는 팀이름으로 수없이 많은 로봇대회를 우승했다. 따라서 민식이의 집에는 트로피가 많다. 민식이는 트로피를 어떤 선반 위에 올려놨다. 이 선반은 민식이의 방문을 열

www.acmicpc.net

 

문제 풀이

처음에 문제를 보면 무슨 소리인지 잘 모르겠으나 그림을 그려보면 어렵지 않게 이해할 수 있다.

왼쪽에서 봤을 때 보이는 트로피는 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

 

GitHub - duduchi/Algorithm: 알고리즘 이론 및 구현 소스 정리 프로젝트 입니다.

알고리즘 이론 및 구현 소스 정리 프로젝트 입니다. Contribute to duduchi/Algorithm development by creating an account on GitHub.

github.com

 

'알고리즘' 카테고리의 다른 글

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