두치의 개발공부

BaekJoon_1568(새) 본문

알고리즘

BaekJoon_1568(새)

Du_chi 2022. 6. 27. 07:24

문제

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

 

1568번: 새

N마리의 새가 나무에 앉아있고, 자연수를 배우기 원한다. 새들은 1부터 모든 자연수를 오름차순으로 노래한다. 어떤 숫자 K를 노래할 때, K마리의 새가 나무에서 하늘을 향해 날아간다. 만약, 현

www.acmicpc.net

 

문제 풀이

새들이 오름차순으로 증가하는 만큼 나무에서 날아가게 된다.

14마리의 새가 있었을 경우 1,2,3,4,1,2,1 해서 총 7초가 걸린다.

4에서 1이 되는 이유는 나무에 남아있는 새의 수(14 - (1+2+3+4)) 가 4마리 이기 때문에 5마리가 날아갈 수 없으므로 다시 1마리로 바꿔주는 경우이다.

 

소스코드

const answer = (input) => {

    let treeBird = Number(input[0]);
    let flyBird = 1;
    let count = 0;

    while (treeBird) {
        if (treeBird >= flyBird) {
            treeBird -= flyBird;
            flyBird += 1;
            count += 1;
        } else {
            flyBird = 1;
        }
    }
    console.log(count);
}

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_1568.js

 

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

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

github.com

 

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

BaekJoon_1668(트로피 진열)  (0) 2022.06.29
BaekJoon_1032(베스트셀러)  (0) 2022.06.28
BaekJoon_1543(문서 검색)  (0) 2022.06.23
BaekJoon_1541(잃어버린 괄호)  (0) 2022.05.11
BaekJoon_1931(회의실 배정)  (0) 2022.05.10