[Baekjoon] #3049 다각형의 대각선 (Node.js)

seongminn·2022년 12월 22일
0

Algorithm

목록 보기
16/26
post-thumbnail

📝 문제

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


👻 풀이

아이디어

대각선의 개수, 교차점으로 만들어지는 도형 등 별별 규칙을 다 찾아봤는데 알고 보니 조합이었다. 하..

굉장히 허무하지만 암튼 풀었다..

알고리즘

nC4{}_nC_{4}


💻 소스코드

const fs = require('fs');
const input = fs.readFileSync('input.txt').toString().split('\n');

const angle = Number(input);
const arr = Array.from({ length: 4 }, (_, idx) => angle - idx);

console.log(arr.reduce((a, c) => a * c, 1) / 24);

--

처음엔 이렇게 작성했는데, 다른 분이 제출한 답안을 보고 아주 머리가 띵했다..

뭘 위해 나는 이렇게 허세 가득한 코드를 짜는지..

const fs = require('fs');
let input = +fs.readFileSync('/dev/stdin').toString();

console.log((input--*input--*input--*input) / 24);

메모리와 시간 복잡도 면에서는 큰 차이를 보이지 않지만, 굳이 array를 만들고 메서드를 사용할 필요가 있었을까 의문이 든다.

앞으로는 코드를 쉽고 직관적으로 작성하기 위한 노력도 겸해야겠다☃️

--

근데 글을 작성하면서 다시 생각해보니 유지/보수 측면에서는 내 코드가 훨씬 좋은 것 같다.

그래도 코딩 테스트 특성 상 문제를 빠르고 직관적으로 풀어야 하니 분명 의미 있는 깨달음이라 생각한다👻

profile
돌멩이도 개발 할 수 있다

0개의 댓글