5주차~8주차 [백준 문제풀이]
solved.ac : https://solved.ac/problems/tags
백준에서 문제 난이도 보기: 설정 > 보기 > solved.ac 티어 > 보기
25.5기: 자료구조 태그에서 2문제를 풀어서 제출하면 됩니다. (Silver 5 이상)
또한 파이썬 제출을 허용합니다.
본인에게 너무 높은 난이도라고 생각되시면 개인적으로 연락주세요.
풀이 시 각 문제가 어디에 해당하는지 꼭 명시해주시고, 아래 사진과 같이 통과 결과 사진(정답 여부)을 첨부하기 바랍니다.
더불어 문제 풀이 과정을 상세히 작성하지 않을 시(3문장 이상) 과제로 인정되지 않으니 참고 바랍니다.
※ 과제 제출 방법
2025 Winter C Study 깃 레포에 push합니다. 해당방법에 대해서는 4주차가 끝난 후 자세히 설명드리겠습니다.
<aside> 1️⃣
Git Bash를 사용하여 협업 레포지토리에 브랜치를 생성하고 파일을 업로드하는 방법을 단계별로 설명해 줄게.
먼저, 초대받은 GitHub 레포지토리를 로컬에 복사해야 해.
git clone <레포지토리_URL>
예시:
git clone <https://github.com/suuu004/SISS_2025_C_study.git>[
이제 로컬에 해당 레포지토리가 복사됨.
브랜치를 만들어서 작업하는 게 좋기 때문에 새로운 브랜치를 생성하고 이동해.
git checkout -b my-branch
my-branch
는 네가 원하는 브랜치 이름으로 바꾸면 돼.
작업할 파일을 추가하거나 수정해.
예를 들어 새로운 파일을 만들고 내용을 작성할 수 있어:
echo "Hello, GitHub!" > myfile.txt
Git에 변경 사항을 추가하려면 아래 명령어를 사용해.
git add .
.
(점)은 모든 변경 사항을 추가한다는 의미야. 특정 파일만 추가하려면 git add myfile.txt
처럼 작성하면 돼.
변경 사항을 저장하려면 커밋을 해야 해.
git commit -m "새로운 파일 추가"
"새로운 파일 추가"
부분을 네가 원하는 커밋 메시지로 바꾸면 돼.
작업한 브랜치를 원격 레포지토리에 올려야 해.
git push origin [my-branch]
이제 GitHub에 my-branch
라는 이름의 브랜치가 올라감.
GitHub 웹사이트로 가서 네가 만든 브랜치를 확인한 뒤, Pull Request
(PR)를 생성하면 돼.
PR이 승인되면 작업이 main
(또는 develop
) 브랜치에 병합될 거야.
이제 협업 레포지토리에서 브랜치를 만들어서 파일을 추가하고 푸시하는 과정을 배웠어! 🚀
</aside>
<aside> 💡
이 오류는 원격 저장소의 PSE
브랜치가 로컬 브랜치보다 앞서 있어서 푸시가 거부된 상황이야.
즉, 원격 브랜치에 다른 사람이 업데이트한 내용이 있어서, 네가 로컬에서 바로 푸시할 수 없다는 의미야.
원격 변경 사항을 로컬에 반영
git pull origin PSE --rebase
👉 git pull
을 하면 원격 저장소의 최신 내용을 가져오고, --rebase
옵션을 사용하면 네가 한 변경 사항을 최신 커밋 위에 쌓아줌.
충돌 해결 (필요한 경우) 만약 충돌(conflict)이 발생하면 Git이 알려줄 거야.
수동으로 충돌을 해결한 후:
git add .
git rebase --continue
다시 푸시 이제 원격 저장소에 반영된 최신 상태에 맞춰 네 변경 사항이 적용되었으니, 강제 푸시 없이 정상적으로 푸시 가능할 거야.
git push origin PSE
만약 rebase 대신 merge를 원한다면,
git pull origin PSE
로 변경 사항을 병합한 뒤 git push origin PSE
하면 돼.
이제 다시 시도해봐! 🚀
강제로 원격 저장소에 푸시하는 방법이야. 이 방법은 로컬의 변경 사항으로 원격 저장소를 덮어쓰는 방식이기 때문에 주의가 필요해. 다른 사람이 이미 원격에 커밋을 푸시했을 경우, 그 변경 사항이 사라질 수 있어.
bash
복사편집
git push origin PSE --force
이렇게 하면 원격 저장소의 PSE
브랜치가 강제로 덮어씌워져. 다른 사람이 푸시한 커밋이 사라질 수 있으므로, 협업 중이라면 주의가 필요해.
</aside>