기존에는 VScode를 이용해서 백준 문제를 풀었었다.(엣날에...기억도안날정도)
알고리즘을 공부하기 시작하면서 VScode로 문제는 풀 수 있지만, 노트북과 컴퓨터를 번갈아 사용할 것을 대비해 온라인 코드 플랫폼을 사용하기로 했다. 그것이 replit이다. (colab도 있음)
사용 언어 : python
사용 플랫폼 : replit
회원가입과 프로젝트를 만드는 것은 간단하니 패쓰하겠다.
input.txt 만들어 예제 입력 쉽게하기
백준 문제를 풀다보면 shell 및 console에 input 데이터(예제 입력)을 손으로 직접 넣어야 할 경우가 있다.
(입력할 양이 4~10개 정도면 손으로 일일히 쓰겠지만, 10개 이상이 되면 너무 귀찮다😶😶)
그래서 많은 사람들이 input 데이터(예제 입력)파일을 만들어서 input을 편하게 한다.
# 파일명 : 1920.py (문제 번호에 맞게 파일 생성)
# input 파일명 : 1920.txt
# input data : 아래 4줄
# 5
# 4 1 5 2 3
# 5
# 1 3 7 9 5
import sys
sys.stdin=open("1920.txt","r") # 해석 : 1920.txt 파일을 r(read) 읽기 전용으로 오픈
input=sys.stdin.readline
n = int(input()) # n = 5
key_list = list(map(int, input().split())) # key_list = [ 4, 1, 5, 2, 3 ]
m = int(input()) # m = 5
target_list = list(map(int, input().split())) # target_list = [ 1, 3, 7, 9, 5 ]
원래 C++로 문제를 풀다가 파이썬으로 넘어왔더니 다른점이 몇가지 있었다. (자세히는 모르겠지만 느낌상 다름)
확실히 느꼈던 것은 input 데이터를 읽는 방식이 다르다는 것이였다.
혹시 누군가는 나처럼 모를수도 있기에 남겨본다. (주석도 써놨으니 알아보시겟지..?)
replit 파일 정리
난 이제 자료구조에 대해 공부중이다.(공부하기 전에는 실제로 써보기만 했지 이론을 몰랐음)
자료구조 공부를 하면 백준을 풀어보는게 국룰이지 않나요?
아직은 푼 문제보다 폴더가 더 많지만, 언젠간 프로젝트 열면 렉 걸리겟지..?ㅎ
백준 문제를 보다보면 특정 자료구조에 대한 문제만 따로 풀 수가 있다.
그래서 자료구조별로 폴더를 생성하고 폴더 안에 파이썬(.py)파일과 input파일(.txt)을 만든다.
이제 준비는 완료했으니 문제를 풀면 된다.
replit 결과 출력하는 법
replit은 위 이미지와 같이 생겼다. 좌측에는 만든 파일을 코딩해주고, 우측에는 Console이 아닌 Shell로 결과를 출력해볼 수 있다.
No such file or directory
나같은 경우는 자료구조별로 폴더를 생성해서 문제를 풀 것이다. 그래서 cd 활용법을 알아야 한다.
Shell 아래에 보면 "~/baegjun$"이 있다. 프로젝트 명이 "백준"이기에 최상위 폴더에 위치해 있다.
이상태에서 python 1920.py 파일을 실행시키니 파일이나 폴더를 찾을 수 없다고 뜬다. 그 이유는 1920.py 파일은 hash 폴더 안에 있기 때문이다. 그렇기에 hash 폴더로 이동해줄 필요가 있다.
이때, 사용하는 것이 cd이다. cd는 change directory(폴더 변경)의 약자이다.
사용법은 "cd 이동할 폴더"을 써주면 된다. 하위 폴더로 이동한다는 개념이다.
ex) cd hash / cd tree / cd string 등등
반대로 상위 폴더로 이동하는 법도 있다.
ex) cd..
이미지로 설명하는게 더 편할거 같다.
현재 폴더는 baegjun이고, baegjun 폴더 안에는 hash 폴더, queue 폴더 등등이 있다.
hash 폴더 안에는 1920.py 파일이 있다.
예시)
"~/baegjun$" 상태에서는 1920.py 파일을 읽을 수 없다. ( X )
"~/baegjun/hash$" 상태에서는 1920.py 파일을 읽을 수 있다. ( O )
"~/baegjun/hash$" 상태에서는 2164.py 파일을 읽을 수 없다. ( X )
"~/baegjun/queue$" 상태에서는 1920.py 파일을 읽을 수 없다. ( X )
"~/baegjun$" -> "~/baegjun/hash$" 변경법 : shell에서 cd hash 입력
"~/baegjun/hash$" ->"~/baegjun$" 변경법 : shell에서 cd.. 입력
'알고리즘&문제' 카테고리의 다른 글
[알고리즘] 입력 속도 비교 ( Python3, Pypy3) - input() vs sys.stdin.readline() (0) | 2022.08.18 |
---|---|
[알고리즘] Unpacking, List Comprehension, Dictionary 잘 쓰기, Sorting, Combination/Permutation, for, while문 에서의 else, Enumerate, Counter (0) | 2022.08.17 |
[알고리즘] 자료구조 시각화 사이트 (0) | 2022.04.23 |
[알고리즘] 자료구조란 (0) | 2022.04.08 |