파이썬 문자열 파싱을 이용해서 이미 푼 백준문제 깃허브연동하기
2025. 4. 17. 21:19ㆍ개발자 능력치 물약/파이썬
백준허브가 private으로 설정해놔서 3주간 깃허브에 푼문제가 올라가지 않았다..

자동으로 링크를 넘겨주는 익스텐션인데 이걸 사용하면 1분만에 이미 푼문제들을 올릴 수있다.
첨부할 링크는 해당 맞은문제의 채점화면이다.
https://www.acmicpc.net/status?from_mine=1&problem_id={문제번호}&user_id={본인의 아이디}
채점화면의 링크는 이런식으로 구성되어있다. 이제 문제번호만 긁어오면 끝이다.

하지만 채점현황을 보면 문제번호뿐만아니라 여러가지 정보들이 포함되어있다. 그래서 파이썬 코드로 문자열 파싱을 통해 문제번호만 가져와서 채점화면링크에서 문제번호만 바뀐 링크들을 가져오려고한다.
입력 파일:

코드:
# 파일에서 데이터를 읽어오기 (인코딩 명시)
with open('w.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# 결과를 저장할 리스트 초기화
results = []
# 파일의 각 줄에 대해 처리
for line in lines:
try:
data = list(map(str, line.split())) # 한줄을 리스트 형태로 받아오기
# 데이터가 충분한지 확인
if len(data) >= 3:
# 2번째 인덱스에 있는값이 우리가 원하는 문제번호이다
url = f"https://www.acmicpc.net/status?from_mine=1&problem_id={data[2]}&user_id=kyp0211"
results.append(url)
except Exception as e:
print(f"오류 발생: {e}")
continue
# 결과를 다른 파일에 쓰기 (인코딩 명시)
with open('s.txt', 'w', encoding='utf-8') as file:
for result in results:
file.write(result + '\n')
print(f"{len(results)}개의 URL이 s.txt 파일에 저장되었습니다.")
출력 파일:


확장프로그램에 들어가서 링크를 입력하고 Open all을 하면 이제 채점이 진행된다.

'개발자 능력치 물약 > 파이썬' 카테고리의 다른 글
리소스 작업 자동화 툴 만들기 (0) | 2025.04.17 |
---|