Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README의 표 및 문제수를 자동 갱신 할 수 있는 방법이 있을까요? #10

Closed
codeisneverodd opened this issue Mar 30, 2022 · 8 comments
Assignees
Labels

Comments

@codeisneverodd
Copy link
Owner

현재 상황

현재는 제가 레퍼지토리를 보고 올라온 풀이 문제수를 손으로 세어서 README에 풀이 문제수와 날짜를 반영하고 있습니다.

건의 사항

자동화된 방법 혹은 더 간편하게 문제 풀이 수를 세거나 갱신할 수 있는 방법이 있을까요? 다양한 의견 부탁드립니다.

@chaerin-dev
Copy link
Contributor

Terminal에서 해당 폴더로 접근한 뒤 ls -l 명령어로 각 폴더별 파일 수를 확인하면 편할 것 같아요!

스크린샷 2022-03-30 오후 4 55 41

빈 폴더에도 파일이 세 개씩 있는 것 같으니 여기서 3을 뺀 숫자가 올라온 풀이 수가 되겠네요. 실제로 수를 세어서 확인해보니 일치해요!

@codeisneverodd
Copy link
Owner Author

감사합니다!! 해당 방법으로 앞으로 해야겠네요!

@codeisneverodd
Copy link
Owner Author

혹시 다른 아이디어가 있으신 분이 있을 수 있으니 해당 이슈는 4/5(화) 까지 열어두겠습니다 🌵

@chaerin-dev
Copy link
Contributor

리드미 자동 업데이트 방법도 알아보겠습니다!

@cruelladevil
Copy link
Contributor

cruelladevil commented Apr 3, 2022

`| 1    | [2016년](https://programmers.co.kr/learn/courses/30/lessons/12901) | [2016년.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/2016년.js) |
| 2    | [3진법 뒤집기](https://programmers.co.kr/learn/courses/30/lessons/68935) | [3진법-뒤집기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/3진법-뒤집기.js) |
| 3    | [K번째수](https://programmers.co.kr/learn/courses/30/lessons/42748) | [K번째수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/K번째수.js) |
| 4    | [[1차] 다트 게임](https://programmers.co.kr/learn/courses/30/lessons/17682) | [[1차]-다트-게임.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/[1차]-다트-게임.js) |
| 5    | [[1차] 비밀지도](https://programmers.co.kr/learn/courses/30/lessons/17681) | [[1차]-비밀지도.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/[1차]-비밀지도.js) |
| 6    | [x만큼 간격이 있는 n개의 숫자](https://programmers.co.kr/learn/courses/30/lessons/12954) | [x만큼-간격이-있는-n개의-숫자.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/x만큼-간격이-있는-n개의-숫자.js) |
| 7    | [가운데 글자 가져오기](https://programmers.co.kr/learn/courses/30/lessons/12903) | [가운데-글자-가져오기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/가운데-글자-가져오기.js) |
| 8    | [같은 숫자는 싫어](https://programmers.co.kr/learn/courses/30/lessons/12906) | [같은-숫자는-싫어.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/같은-숫자는-싫어.js) |
| 9    | [나누어 떨어지는 숫자 배열](https://programmers.co.kr/learn/courses/30/lessons/12910) | [나누어-떨어지는-숫자-배열.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/나누어-떨어지는-숫자-배열.js) |
| 10   | [나머지가 1이 되는 수 찾기](https://programmers.co.kr/learn/courses/30/lessons/87389) | [나머지가-1이-되는-수-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/나머지가-1이-되는-수-찾기.js) |
| 11   | [내적](https://programmers.co.kr/learn/courses/30/lessons/70128) | [내적.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/내적.js) |
| 12   | [두 개 뽑아서 더하기](https://programmers.co.kr/learn/courses/30/lessons/68644) | [두-개-뽑아서-더하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/두-개-뽑아서-더하기.js) |
| 13   | [두 정수 사이의 합](https://programmers.co.kr/learn/courses/30/lessons/12912) | [두-정수-사이의-합.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/두-정수-사이의-합.js) |
| 14   | [로또의 최고 순위와 최저 순위](https://programmers.co.kr/learn/courses/30/lessons/77484) | [로또의-최고-순위와-최저-순위.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/로또의-최고-순위와-최저-순위.js) |
| 15   | [모의고사](https://programmers.co.kr/learn/courses/30/lessons/42840) | [모의고사.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/모의고사.js) |
| 16   | [문자열 내 p와 y의 개수](https://programmers.co.kr/learn/courses/30/lessons/12916) | [문자열-내-p와-y의-개수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/문자열-내-p와-y의-개수.js) |
| 17   | [문자열 내 마음대로 정렬하기](https://programmers.co.kr/learn/courses/30/lessons/12915) | [문자열-내-마음대로-정렬하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/문자열-내-마음대로-정렬하기.js) |
| 18   | [문자열 내림차순으로 배치하기](https://programmers.co.kr/learn/courses/30/lessons/12917) | [문자열-내림차순으로-배치하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/문자열-내림차순으로-배치하기.js) |
| 19   | [문자열 다루기 기본](https://programmers.co.kr/learn/courses/30/lessons/12918) | [문자열-다루기-기본.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/문자열-다루기-기본.js) |
| 20   | [문자열을 정수로 바꾸기](https://programmers.co.kr/learn/courses/30/lessons/12925) | [문자열을-정수로-바꾸기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/문자열을-정수로-바꾸기.js) |
| 21   | [부족한 금액 계산하기](https://programmers.co.kr/learn/courses/30/lessons/82612) | [부족한-금액-계산하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/부족한-금액-계산하기.js) |
| 22   | [서울에서 김서방 찾기](https://programmers.co.kr/learn/courses/30/lessons/12919) | [서울에서-김서방-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/서울에서-김서방-찾기.js) |
| 23   | [소수 만들기](https://programmers.co.kr/learn/courses/30/lessons/12977) | [소수-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/소수-만들기.js) |
| 24   | [소수 찾기](https://programmers.co.kr/learn/courses/30/lessons/12921) | [소수-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/소수-찾기.js) |
| 25   | [수박수박수박수박수박수?](https://programmers.co.kr/learn/courses/30/lessons/12922) | [수박수박수박수박수박수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/수박수박수박수박수박수.js) |
| 26   | [숫자 문자열과 영단어](https://programmers.co.kr/learn/courses/30/lessons/81301) | [숫자-문자열과-영단어.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/숫자-문자열과-영단어.js) |
| 27   | [시저 암호](https://programmers.co.kr/learn/courses/30/lessons/12926) | [시저-암호.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/시저-암호.js) |
| 28   | [신고 결과 받기](https://programmers.co.kr/learn/courses/30/lessons/92334) | [신고-결과-받기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/신고-결과-받기.js) |
| 29   | [신규 아이디 추천](https://programmers.co.kr/learn/courses/30/lessons/72410) | [신규-아이디-추천.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/신규-아이디-추천.js) |
| 30   | [실패율](https://programmers.co.kr/learn/courses/30/lessons/42889) | [실패율.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/실패율.js) |
| 31   | [약수의 개수와 덧셈](https://programmers.co.kr/learn/courses/30/lessons/77884) | [약수의-개수와-덧셈.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/약수의-개수와-덧셈.js) |
| 32   | [약수의 합](https://programmers.co.kr/learn/courses/30/lessons/12928) | [약수의-합.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/약수의-합.js) |
| 33   | [없는 숫자 더하기](https://programmers.co.kr/learn/courses/30/lessons/86051) | [없는-숫자-더하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/없는-숫자-더하기.js) |
| 34   | [예산](https://programmers.co.kr/learn/courses/30/lessons/12982) | [예산.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/예산.js) |
| 35   | [완주하지 못한 선수](https://programmers.co.kr/learn/courses/30/lessons/42576) | [완주하지-못한-선수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/완주하지-못한-선수.js) |
| 36   | [음양 더하기](https://programmers.co.kr/learn/courses/30/lessons/76501) | [음양-더하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/음양-더하기.js) |
| 37   | [이상한 문자 만들기](https://programmers.co.kr/learn/courses/30/lessons/12930) | [이상한-문자-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/이상한-문자-만들기.js) |
| 38   | [자릿수 더하기](https://programmers.co.kr/learn/courses/30/lessons/12931) | [자릿수-더하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/자릿수-더하기.js) |
| 39   | [자연수 뒤집어 배열로 만들기](https://programmers.co.kr/learn/courses/30/lessons/12932) | [자연수-뒤집어-배열로-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/자연수-뒤집어-배열로-만들기.js) |
| 40   | [정수 내림차순으로 배치하기](https://programmers.co.kr/learn/courses/30/lessons/12933) | [정수-내림차순으로-배치하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/정수-내림차순으로-배치하기.js) |
| 41   | [정수 제곱근 판별](https://programmers.co.kr/learn/courses/30/lessons/12934) | [정수-제곱근-판별.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/정수-제곱근-판별.js) |
| 42   | [제일 작은 수 제거하기연습문제](https://programmers.co.kr/learn/courses/30/lessons/12935) | [제일-작은-수-제거하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/제일-작은-수-제거하기.js) |
| 43   | [직사각형 별찍기](https://programmers.co.kr/learn/courses/30/lessons/12969) | [직사각형-별찍기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/직사각형-별찍기.js) |
| 44   | [짝수와 홀수](https://programmers.co.kr/learn/courses/30/lessons/12937) | [짝수와-홀수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/짝수와-홀수.js) |
| 45   | [체육복](https://programmers.co.kr/learn/courses/30/lessons/42862) | [체육복.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/체육복.js) |
| 46   | [최대공약수와 최소공배수](https://programmers.co.kr/learn/courses/30/lessons/12940) | [최대공약수와-최소공배수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/최대공약수와-최소공배수.js) |
| 47   | [최소직사각형](https://programmers.co.kr/learn/courses/30/lessons/86491) | [최소직사각형.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/최소직사각형.js) |
| 48   | [콜라츠 추측](https://programmers.co.kr/learn/courses/30/lessons/12943) | [콜라츠-추측.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/콜라츠-추측.js) |
| 49   | [크레인 인형뽑기 게임](https://programmers.co.kr/learn/courses/30/lessons/64061) | [크레인-인형뽑기-게임.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/크레인-인형뽑기-게임.js) |
| 50   | [키패드 누르기](https://programmers.co.kr/learn/courses/30/lessons/67256) | [키패드-누르기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/키패드-누르기.js) |
| 51   | [평균 구하기](https://programmers.co.kr/learn/courses/30/lessons/12944) | [평균-구하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/평균-구하기.js) |
| 52   | [폰켓몬](https://programmers.co.kr/learn/courses/30/lessons/1845) | [폰켓몬.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/폰켓몬.js) |
| 53   | [핸드폰 번호 가리기](https://programmers.co.kr/learn/courses/30/lessons/12948) | [핸드폰-번호-가리기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/핸드폰-번호-가리기.js) |
| 54   | [행렬의 덧셈](https://programmers.co.kr/learn/courses/30/lessons/12950) | [행렬의-덧셈.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/행렬의-덧셈.js) |
| 55   | [하샤드 수](https://programmers.co.kr/learn/courses/30/lessons/12947) | [히샤드-수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-1/히샤드-수.js) |`.split('\n');

split을 이용해서 문자열을 나눠보는것도 하나의 방법인것 같습니다.

@cruelladevil
Copy link
Contributor

리드미 자동 업데이트 방법도 알아보겠습니다!

function makeReadmeStr(level) {
  const title = document.querySelector('.algorithm-title').innerText;
  const titleJS = `${title.split(' ').join('-')}.js`;
  const pageURL = `${window.location.href}`;
  const codeURL = `https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-${level}/${titleJS}`;
  return `| | [${title}](${pageURL}) | [${titleJS}](${codeURL}) |`;
}

문제 페이지에서 콘솔창에 사용해 보시길 바랍니다.

@codeisneverodd
Copy link
Owner Author

@cruelladevil 프로젝트에 기여해주셔서 감사합니다 그리고l 좋은 의견과 코드 감사합니다!
다음과 같이 사용하여 보았는데 맞게 사용한 것일까요! 링크는 모두 잘 나온 것 같습니다 😄
image

기존에는 프로그래머스 코딩테스트 문제 링크 직접 복사 + 깃허브 링크 직접 복사와 같은 방법으로 사용하였습니다.
올려주신 방식으로 하였을 때 표에 해당하는 양식과 해당 링크가 바로 나와서 편리한 것 같습니다!

하지만 표를 만드는 방식은 결론적으로 제가 문제 페이지를 접속하여 콘솔에 해당 함수를 붙여넣고 결과 값을 긁어오는 것이라, 해당 방식으로 하는 것이 크게 시간 단축을 이루지는 못했습니다. 그렇지만 정확성 측면에서 도움이 되었네요!

하지만 해당 코드는 확장성이 좋은 것 같습니다!
약간의 수정만 거치면 프로그래머스 페이지를 크롤링 한 후, 크롤링 데이터를 기반으로 제가 페이지를 하나하나 눌러 콘솔창에 입력하지 않더라도, 자동으로 리드미 양식이 나오도록 할 수 있는 코드인 것 같습니다.
혹시 가능하시다면, 해당 레퍼지토리를 fork한 후 리드미 자동갱신 프로그램을 넣어 PR해주신다면 적극 반영할 의사가 있습니다!
좋은 의견 감사합니다 😄

@codeisneverodd codeisneverodd changed the title 풀이 된 문제수를 간편하게 셀 수 있는 방법이 있을까요? README의 표 및 문제수를 자동 갱신 할 수 있는 방법이 있을까요? Apr 3, 2022
@codeisneverodd
Copy link
Owner Author

@cruelladevil 님의 기능을 추가하는 것으로 마무리하겠습니다 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants