AlgoExpert TS 솔루션
이 저장소에는 AlgoExpert 코딩 질문의 과제에 대한 몇 가지 솔루션이 포함되어 있습니다.
메모:
아직 모든 챌린지를 완료하지 않았으며 이 저장소에 새로운 솔루션, 새로운 구조, 새로운 테스트 등을 지속적으로 업데이트하고 있습니다. 따라서 최신 변경 사항을 보려면 완료로 표시된 마지막 챌린지를 확인하세요. 아래 챌린지 목록 섹션에 있습니다.
? 쉬움 (31) | ? 미디엄 (73) | ? 하드 (58) | ? 매우 단단함 (38) |
---|---|---|---|
|
|
|
|
더...
| 더...
| 더...
| 더...
|
(맨 위로)
매 커밋 후 자동 테스트 - Git Hooks 및 Jest 사용
푸시할 때마다 자동 테스트 - Github Actions 및 Jest 사용
공통 폴더 - 코드를 재사용하는 데 도움이 됩니다.
각 챌린지에는 솔루션을 정리하는 데 도움이 되는 자체 폴더가 있습니다 .
각 챌린지마다 고유한 테스트 파일이 있어 특정 챌린지에 대한 테스트를 실행하는 데 도움이 됩니다.
각 챌린지마다 고유한 사례 테스트 파일이 있어 테스트 사례를 구성하는 데 도움이 됩니다.
각 챌린지마다 고유한 README.md 파일이 있어 챌린지를 이해하는 데 도움이 됩니다.
각 과제에는 솔루션 작성에 도움이 되는 자체 솔루션 파일이 있습니다 .
솔루션을 쉽게 테스트할 수 있습니다 . 새 솔루션 파일을 만들고 솔루션으로 테스트 파일을 업데이트하면 됩니다.
Makefile - 테스트 실행, 새로운 과제 생성 및 솔루션 커밋을 지원합니다.
솔루션 커밋이 쉽습니다 . make commit
실행하면 feat(CHALLENGE_NAME): add solution {SOLUTION_NUMBER}
메시지와 함께 커밋됩니다.
새로운 과제를 쉽게 생성할 수 있습니다 . make new
실행하면 템플릿을 사용하여 폴더, 파일 및 README.md 파일이 생성됩니다.
새로운 솔루션을 쉽게 생성 - make new-solution
실행하면 템플릿을 사용하여 솔루션 파일이 생성됩니다.
테스트 실행 용이 - make test
실행하면 모든 테스트가 실행됩니다.
템플릿을 사용자 정의할 수 있습니다 . scripts/templates
폴더만 업데이트하면 됩니다.
VSCode에서 쉽게 디버깅할 수 있습니다 . VSCode에 현재 열려 있는 챌린지 탭에 대한 디버그 구성이 포함된 launch.json
파일이 있습니다.
make new-solution
명령을 실행할 때 새 솔루션을 생성하기 위해 완료된 마지막 챌린지를 자동으로 검색합니다.
make new
명령을 실행할 때 새 챌린지를 생성하기 위해 완료될 다음 챌린지를 자동으로 검색합니다.
make new-solution
명령을 실행할 때 자동 업데이트 솔루션이 테스트되었습니다.
(맨 위로)
make new-solution
명령 실행 시 solution-0.ts
의 기능 할당을 새 파일에 복제합니다.
새 챌린지를 만든 후 VSCode에서 새 파일을 모두 엽니다.
챌린지 목록을 완료한 후 모든 챌린지를 새로운 구조로 업데이트하세요.
make commit
명령을 실행할 때 각 챌린지를 완료한 후 각 레벨에서 완료된 챌린지 수 자동 업데이트
루트 구성 파일을 .config
폴더로 이동
몇 가지 팁과 요령이 포함된 README.md
파일이 포함된 docs
폴더 만들기
(맨 위로)
내 방법 과제를 해결하기 위한 방법은 다음과 같습니다.
준비
챌린지 폴더 및 파일 생성 ( make new
명령 사용)
1단계
챌린지 설명 읽기
해결책을 그리다
솔루션 힌트를 보지 않고 TypeScript로 솔루션 작성
테스트 실행( make test-changed
명령 사용)
솔루션 리팩터링
모든 테스트가 통과할 때까지 4단계와 5단계를 반복합니다 .
솔루션의 복잡성 평가
솔루션 커밋 ( make commit
명령 사용)
2dn 단계
해결 힌트 확인
내 솔루션을 솔루션 힌트와 비교
내 솔루션을 개선 하거나 솔루션 힌트를 기반으로 새 솔루션을 만들어 보십시오( make new-solution
명령 사용).
솔루션에 만족할 때까지 4~10단계를 반복합니다 .
솔루션 커밋 ( make commit
명령 사용)
3단계
솔루션 영상 보기
비디오에서 다른 솔루션을 구현 하거나 비디오를 기반으로 내 솔루션을 리팩터링합니다.
솔루션 커밋 ( make commit
명령 사용)
흐름도 LR
START((준비)) --> 하나
하위 그래프 1[1단계]
A[읽기] --> B[그리기]
B --> C[코드]
C --> D[테스트]
D --> C
D --> I[복잡성]
I --> R[커밋]
끝
하위 그래프 2[2단계]
R --> J[힌트]
J --> K[비교]
K --> L[리팩터링]
L --> M[테스트]
남 --> 엘
M --> S[커밋]
끝
하위 3[3단계]
S --> N[동영상]
N --> O[코드]
O --> P[코드/리팩터링]
P --> Q[테스트]
질문 --> 피
Q --> T[커밋]
끝
하나 -.-> 둘
둘 -.-> 셋
세 --> 끝(((끝)))
로드 중(맨 위로)
Node.js
타입스크립트
농담
(맨 위로)
Node.js
(맨 위로)
자식 클론 [email protected]:filipe1309/algoexpert-solutions.git
CD algoexpert-솔루션
설치하다
(맨 위로)
테스트 실행을 돕기 위해 Makefile
만들었습니다.
모든 테스트를 실행합니다.
테스트하다
특정 테스트를 실행합니다.
t=CHALLENGE_NAME 테스트하기
예:
make test t=two-number-sum
변경된 테스트를 실행합니다.
테스트 변경
(맨 위로)
또한 몇 가지 추가 명령을 사용하여 Makefile
만들었습니다.
새로 만들기 [n=CHALLENGE_NAME] [l=CHALLENGE_LEVEL] [c=CHALLENGE_CATEGORY]
예:
make new
(프롬프트 채우기) 또는make new n=two-number-sum l=easy c=arrays
레벨:
easy
,medium
,hard
,very-hard
그러면 다음이 생성됩니다.
폴더( src/easy/two-number-sum
)
solution-0.ts
파일 (솔루션을 작성할 파일, 원하는 경우 더 만들고 테스트 파일을 업데이트할 수 있음)
테스트 파일 solution.spec.ts
케이스 테스트 파일 cases.ts
README.md
파일
커밋하기 [m=COMMIT_MESSAGE]
예:
make commit m="feat: add two number sum solution"
m
인수를 전달하지 않으면 메시지와 함께 커밋됩니다.
feat(CHALLENGE_NAME): add solution {SOLUTION_NUMBER}
새로운 솔루션 만들기 [n=CHALLENGE_NAME_SNAKE] [l=CHALLENGE_LEVEL_LOWER]
예:
make new-solution [l=easy] [n=two-number-sum]
ORmake new-solution
(프롬프트 작성)
그러면 새 솔루션 파일 solution-{SOLUTION_NUMBER}.ts
가 생성되고 테스트 파일이 업데이트됩니다.
solution-0.ts
이미 존재하는 경우solution-1.ts
생성하고 index.ts 파일과 테스트 파일을 업데이트합니다. 등...
도움말 명령:
도움을 주다
(맨 위로)
풀 요청을 환영합니다. 주요 변경사항의 경우 먼저 이슈를 열어 변경하고 싶은 사항에 대해 논의하세요.
테스트를 적절하게 업데이트하세요.
(맨 위로)
MIT
(맨 위로)
알고전문가
새해 선물 - 시간을 절약할 수 있는 상위 75개 LeetCode 질문 선별 목록
ShubcoGen 템플릿™
Node.js 프로젝트의 Husky와 같은 추가 종속성이 없는 Git Hooks
타입스크립트 + Jest
Node.js, Jest 및 TypeScript의 테스트 단위
Big O 표기법 설명: 공간 및 시간 복잡성
TypeScript를 사용하지 않는 Utilizando 경로 매핑
경로 매핑
모듈 해상도
초보자를 위한 Levenshtein 거리 방정식 이해
안정적인 결혼 문제 - 넘버필
안정적인 결혼 문제(수학 비트)
(맨 위로)
:heart: 작성자: Filipe Leuch Bonfim ?
(맨 위로)