파이썬 문자열 파싱을 이용해서 이미 푼 백준문제 깃허브연동하기

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