Algorithm) Pycharm 알고리즘 풀이 세팅
pycharm에서 solution.py, input, output, sol.bat 세팅
📜 제목으로 보기
예시 미리 정리
# backjoon/101/Solution(heap).py + input, output.pxt 백업
./sol.bat bj 101 heap
# programmers/101/Solution.py + input, output.pxt 백업
./sol.bat pg 101
# leetcode/101/Solution(heap).py + input, output.pxt 백업
./sol.bat lc 101 heap
# others/101/Solution.py + input, output.pxt 백업
./sol.bat others 101
pycharm 알고리즘 풀기 세팅
-
루트폴더에
input.txt
,output.txt
,Solution.py
를 만든다.-
solution.py는 아래내용으로 작성한다.
import sys input = sys.stdin.readline def solution(): pass if __name__ == '__main__': solution()
-
-
Edit Configurations >
+
>Algorithm
으로 설정을 생성한 뒤- Script Path: 만든 Solution.py로 설정
- Redirect input from: 만든 input.txt로 설정
- [ ] Active tool window: 체크해제
- Logs탭 > Save console output to file : 만든 output.txt로 설정한다
-
input.txt
와output.txt
를 하단에 띄워놓고, 결과를 확인해본다.- 한글에러가 나면
xp949
로 설정해준다.
- 한글에러가 나면
batch파일 -> 해결한 문제 특정폴더에 백업하기
-
root 경로에
sol.bat
파일을 만든다.-
sol.bat [ ] [ ] [ ]
orsol.bat [ ] [ ]
형식으로 사용한다.- 첫번째 인자는
bj
orpg
orlc
orothers
가 되어야한다. - 2번째 인자는
첫번째인자 폴더 아래 생길 문제번호폴더
명이면서 Solution.py가%2인자.py
로 백업될 파일명이와야한다- 이미 푼 문제로서 해당 폴더가 존재하면 에러가 뜨고 종료된다.
- 3번째 인자는
%2인자(%3인자).py
로서 파일명 뒤에 괄호로 추가 설명이 오도록 한다.
- 첫번째 인자는
@echo off if "%1" == "bj" ( ::backjoon폴더가 없으면 일단 생성한다. if not exist ".\backjoon\" md ".\backjoon" ::backjoon/ 첫번째인수명/ 으로 해당 문제의 폴더를 생성한다. if not exist ".\backjoon\%2" ( md ".\backjoon\%2" ) else ( echo "already solved problem" GOTO:EOF ) ::변수할당시 = 사이에 공백이 있으면 안된다. Set CURRENT_FOLDER=backjoon ) else if "%1" == "pg" ( :: else는 닫는괄호와 같은 위치여야한다. :: programmers폴더가 없으면 일단 생성한다. if not exist ".\programmers\" md ".\programmers" ::programmers/ 첫번째인수명/ 으로 해당 문제의 폴더를 생성한다. if not exist ".\programmers\%2" ( md ".\programmers\%2" ) else ( echo "already solved problem" GOTO:EOF ) Set CURRENT_FOLDER=programmers ) else if "%1" == "lc" ( ::leetcode폴더가 없으면 일단 생성한다. if not exist ".\leetcode\" md ".\leetcode" ::leetcode/ 첫번째인수명/ 으로 해당 문제의 폴더를 생성한다. if not exist ".\leetcode\%2" ( md ".\leetcode\%2" ) else ( echo "already solved problem" GOTO:EOF ) Set CURRENT_FOLDER=leetcode ) else if "%1" == "others" ( ::leetcode폴더가 없으면 일단 생성한다. if not exist ".\others\" md ".\others" ::leetcode/ 첫번째인수명/ 으로 해당 문제의 폴더를 생성한다. if not exist ".\others\%2" ( md ".\others\%2" ) else ( echo "already solved problem" GOTO:EOF ) Set CURRENT_FOLDER=others ) else ( echo "Must First arguments contains bj, pg, lc, others" GOTO:EOF ) ::Solution.py -> .\backjoon\첫번째인수명\첫번째인수명.py으로 복사한다 if "%3" == "" copy %cd%\Solution.py .\%CURRENT_FOLDER%\%2\%2.py :: 만약, 2번째 인수가 존재한다면-> .\backjoon\첫번째인수명(2번째인수명).py으로 복사한다. if not "%3" == "" copy %cd%\Solution.py .\%CURRENT_FOLDER%\%2\%2(%3).py :: input, output.txt를 .\backjoon\첫번째인수명 폴더로 복사한다. copy %cd%\input.txt .\%CURRENT_FOLDER%\%2\input.txt copy %cd%\output.txt .\%CURRENT_FOLDER%\%2\output.txt ::기존 Solution.py 초기문장 적어 초기화 echo import sys > .\Solution.py echo. >> .\Solution.py echo input = sys.stdin.readline >> .\Solution.py echo. >> .\Solution.py echo. >> .\Solution.py echo def solution(): >> .\Solution.py echo pass >> .\Solution.py echo. >> .\Solution.py echo. >> .\Solution.py echo if __name__ == '__main__': >> .\Solution.py echo solution() >> .\Solution.py :: 기존 input, output.txt를 빈 파일로 생성 type NUL > .\input.txt type NUL > .\output.txt
-
-
문제를 다 풀었으면, 터미널에서
./sol.bat [bj] [문제번호] [optional]
형태로 백업하고, 3개 기본 파일을 초기화한다.- 기본 저장경로는
./%1의 full word/%2
이다. - 2번째 인자는 폴더명이자 py파일명이다.
- 3번째 인자는 존재한다면, py파일명(괄호) 괄호안에 텍스트를 적는다.
- 기본 저장경로는