Skip to content

Baekjoon Framework for JavaScript. 자바스크립트를 위한 백준 프레임워크.🍌

License

Notifications You must be signed in to change notification settings

lumirlumir/npm-bananass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bananass

한국어 | English

바나나Bananass, 🍌🍌🍌🍌: 명사 자바스크립트를 위한 백준 프레임워크.

Important

const whyBananass = {
  banana: '🍌',
  bananas: '🍌🍌',
  bananass: '🍌🍌🍌🍌',
}
console.log(('b' + 'a' + +'a' + 'a').toLowerCase() + (!(1/0) + [])[3].repeat(2));

안녕, 바나나!

바나나Bananass, 🍌🍌🍌🍌 프레임워크에 오신 것을 환영합니다.🎉

바나나 프레임워크는 루밀LuMir이 제작한 자바스크립트JavaScript를 위한 백준 프레임워크로, 백준 Node.js 환경에서의 보다 편리한 문제풀이를 위해 설계되었습니다.

이제 더 이상 readline 혹은 fs 모듈을 이용한 템플릿Template 코드를 작성한 후, 일일이 복사 붙여넣기할 필요가 없습니다! 바나나 프레임워크를 통해 프로그래머스에서 하나의 솔루션 함수function solution() {}를 작성하듯 더욱 간편한 문제 풀이를 경험해보세요.

그런데, 백준 문제 풀이를 하는데 굳이 프레임워크까지 알아야 할까요? 아래에서 그 이유를 찾아보죠!

왜 바나나일까요?

왜 자바스크립트JavaScript 생태계의 수 많은 프레임워크 중 문제 풀이에 특화된 프레임워크는 없었을까요? 함께 자바스크립트를 이용한 백준 1000번: A+B 문제 풀이 예제를 살펴보죠!

  • Before: 기존 방법을 통한 문제 풀이.

    const readline = require('node:readline');
    const { EOL } = require('node:os');
    
    let inputStr = '';
    
    const rl = readline.createInterface({
      input: process.stdin,
      output: process.stdout,
    });
    
    rl.on('line', line => {
      inputStr = `${inputStr}${line}${EOL}`;
    
    }).on('close', () => {
      console.log(solution(inputStr));
    
      process.exit(0);
    });
    
    function solution(inputStr) {
      const input = inputStr
        .trim()
        .split(' ')
        .map(val => Number(val));
    
      const [a, b] = input;
    
      return a + b;
    }
  • After: 바나나 프레임워크를 이용한 문제 풀이.

    function solution(input) {
      const [a, b] = input
        .trim()
        .split(' ')
        .map(Number);
    
      console.log(a + b);
    }
    
    module.exports = solution;

와우!😲 놀랍지 않나요? 이제 여러분들은 단순해진 코드와 더불어 알고리즘 로직에만 집중할 수 있습니다.

근데, 이게 전부냐고요? 물론 아닙니다!

  • 백준 Node.js 환경에 구애받지 않는 ES2025 등 최신 문법의 사용
  • 사용자 정의 모듈 및 lodash 등 외부 라이브러리의 사용
  • ESLint 및 Prettier 자체 지원
  • 풍부한 문서 및 커뮤니티 지원
  • ...

어떤가요? 바나나 프레임워크를 통해 더욱 편리한 문제 풀이를 경험해보고 싶지 않으신가요?🤔

바나나로 시작하기

React의 create-react-app, Next.js의 create-next-app 처럼,

바나나 프레임워크에서 제공하는 create-bananass-app으로 지금 바로 새로운 문제 풀이 패러다임을 경험해보세요!

바나나 프레임워크는 create-bananass-app을 통해 즉시 설치하고 사용할 수 있습니다! (사실 앱App은 아니지만, 그건 중요한게 아닙니다...🤔)

npx create-bananass-app my-bananass-app --no-install

더욱 자세한 사용법은 바나나 프레임워크 문서를 참고해주세요.

바나나 프레임워크 문서

https://bananass.lumir.page

바나나 프레임워크는 문서화를 가장 큰 가치로 여깁니다. 바나나 프레임워크의 모든 사용법과 기능은 바나나 프레임워크 문서에서 확인하실 수 있습니다.

기여(이슈Issue, 끌어오기 요청Pull Request, 토론Discussion)

바나나 프레임워크에 관심을 가져주셔서 감사합니다.🙇‍♂️ 저희는 여러분들의 소중한 시간을 바나나 프레임워크에 투자해주신 것에 대해 고마움을 가지고 있습니다.

모든 버그Bug 및 제안Suggestion 등 여러 주제에 대한 이슈Issue, 끌어오기 요청Pull Request 및 토론Discussion 등을 환영합니다.

다만, 올바른 커뮤니티 환경을 준수하고 더 나은 오픈소스를 만들기 위해, 바나나 프레임워크에 기여하기 전 반드시 아래 내용들을 확인해주세요.

버전 정책Versioning

바나나 프레임워크는 유의적 버전 정책Sementic Versioning을 따릅니다. 모든 릴리즈 버전은 주(MAJOR).부(MINOR).수(PATCH) 형식을 따릅니다.

기여자 행동 강령 규약Code of Conduct

커뮤니티에 기여하기 전, 기여자 행동 강령 규약을 참고해주세요.

변경 사항Change Log

변경 사항에 대한 상세한 내용을 확인하려면, 변경 사항을 참고해주세요.

보안Security

보안 문제를 발견하셨나요? 보안 문서를 참고해주세요.

라이센스License

바나나 프레임워크는 MIT 라이센스를 따릅니다. 라이센스 문서를 참고해주세요.

About

Baekjoon Framework for JavaScript. 자바스크립트를 위한 백준 프레임워크.🍌

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published