🌿All posts 199

✏️ [백준 14675] 단절점과 단절선

1. 문제 https://www.acmicpc.net/problem/14675 14675번: 단절점과 단절선 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 트리의 정점 개수 N이 주어진다. (2 ≤ N ≤ 100,000) 트리의 정점은 1번부터 n번까지 존재한다. 다음 줄부터 N-1개의 줄에 걸쳐 간선의 정 www.acmicpc.net 2. 접근 방법 단절점과 단절선이라는 용어가 나와서 쫄았었는데, 별 거 아니었습니다. 문제에 나온대로 적어보자면, 단절점(cut vertex) : 해당 정점을 제거하였을 때, 그 정점이 포함된 그래프가 2개 이상으로 나뉘는 경우, 이 정점을 단절점이라 한다. 단절선(bridge) : 해당 간선을 제거하였을 때, 그 간선이 포함된 그래프가 2개 이상으로 나뉘는 ..

Algorithm/Python 2021.10.13

✏️ 멤버십 3-4주차 회고

이번에도 잘한 점, 아쉬웠던 점, 앞으로는 순으로 작성하려다가 이번 프로젝트는 고민의 연속이었기 때문에 어떤 고민을 했고 어떤 결론을 내렸는지 에 대해서도 추가하여 기록합니다. 고민했던 사항 고민했던 사항은 크게 git 관련, 프로젝트 관련, 코드 관련으로 나눌 수 있습니다. 1. git 관련 이번 프로젝트에서는 issue, milestone, wiki기능을 써봐야겠다는 다짐을 했습니다. 또한, 커밋 메세지를 작성하는데에 있어 header와 content, footer를 나누어 header에는 커밋의 종류와 제목을, content에는 어떤 내용이 변경되었고, 왜 이렇게 변경했는지와 참고한 링크를, footer에는 git issue 번호를 #number와 같은 형식으로 작성했습니다. (number에 iss..

✏️ vscode에서 python linter 활성화하기

최근에 node.js로 프로젝트를 진행하면서 prettier, ESlint의 간편함을 느꼈는데요~! 오랜만에 파이썬으로 개발을 진행하다가 vscode에서 파이참처럼 linter를 켤 수 없나? 싶어서 찾아봤습니다. 파이참의 경우 기본 설정에 linter가 존재해서 그런가 PEP-8을 잘 지키게끔 도와주는데용 vscode는 따로 설정을 해야하더라구용 설정하기 ctrl+shift+p를 누르면 설정 검색창이 나옵니다. 그럼 여기다가 python select linter를 눌러주시면 아래와 같이 뜹니다. 저걸 누르면 아래와 같이 뜨는데요 이 중에 원하시는 거 고르시면 됩니다. 참고로 pycodestyle가 PEP8에 명시된 스타일 가이드를 기반으로 파이썬 코드를 체크해서 알려준다구 합니다! 실제로 이 라이브러리..

Language/Python 2021.09.20

✏️ 멤버십 1-2주차 회고

이번 멤버십 프로젝트는 2주동안 하나의 프로젝트를 진행해서, 프로젝트 회고 겸 작성했습니다. 회고를 가장한 TMI 주절주절 글입니다. 좋았던 점 아쉬웠던 점 앞으로는 이렇게 세가지 항목으로 나누어 작성했습니다. 사실 1주를 마무리하고 1주차 회고를 작성했는데, 급하게 쓰기두 했구 막상 공개하려니 부끄러워서 조금 더 다듬어서 함께 작성했습니다. >_ㅇ 잘된 점 Git 왜? 시작하기에 앞서 이번 프로젝트는 개인 프로젝트였고, 이제껏 매번 페어 프로그래밍, 그룹 프로젝트를 진행하던 저에게 매우 생소한 작업이었습니다. 특히나 타이틀에 걸맞는 풀스택 개발이었기에 더더욱 생소했던 프로젝트였습니다. 하지만 결과적으로 정말 많은 것을 배울 수 있었고, 매일 새로운 이슈가 생성되어 처음 계획과 자꾸 멀어져서 이게 될까?..

✏️ [백준 1389] 케빈 베이컨의 6단계 법칙

1. 문제 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 2. 접근 방법 문제에 등장하는 케빈 베이컨 수는 해당 노드에서 다른 노드를 모두 방문하는 데 필요한 총 길이인데요, 결국 그래프의 최단 길이 문제라 다익스트라 혹은 플로이드 워셜로 풀이할 수 있습니다. 하지만 N이 500이하라서 플로이드워셜을 써도 되겠다 싶었습니다. 물론 bfs로도 풀이 가능합니다. 플로이드 워셜을 쓰기에 앞서 간단히 ..

Algorithm/Python 2021.09.05

✏️ GitHub commit에 서명하기 (Verified)

Signed Commit 서명된 Commit의 필요성 GitHub을 사용하는 경우, $ git config에서 user.name과 user.email을 지정할 수 있습니다. 이 때, 지정 및 변경이 매우 쉽기 때문에 (git config --global user.name [하고싶은이름], email의 경우 user.name부분을 user.email로 변경해서 넣으면 됨) 여러 명이 같은 저장소에서 개발할 때 author를 조작하여 본인이 한 커밋이 아니더라도 본인의 정보로 commit 이력이 남을 수 있습니다. 이를 방지하기 위해 누군가의 commit이 본인의 commit이 맞는지 확인할 수 있도록 서명된 commit을 사용합니다. 서명하기 1. GPG를 설치합니다. GPG(GNU Privacy Guar..

Study/Git 2021.08.29

✏️ mongoDB 설치하기

크게 설치하기, 환경변수 설정하기 두 단계로 나뉩니다요 1. 설치하기 https://www.mongodb.com/try/download/enterprise 여기로 가시면 아래와 같이 뜨는데요, 저기서 On-premises -> MongoDB Enterprise Server 누르고 원하는 버전 맞춰서 Download하시면 됩니다요 msi파일 다운로드 받고 실행하면 됩니다! 딱히 저는 건들게 없어서 그냥 쭉 next하고 다운로드 받았습니다. 설치 후 환경변수 설정을 하면 더욱 편하게 쓸 수 있어요호 2. 환경변수 설정하기 이제 mongoDB를 사용하려면 해당 디렉토리로 이동해서 실행해야하는 데, 귀찮으니까 구냥 환경변수 설정 해줄게요 요러케 mongo가 설치되어있는 곳으로 설정해주시면 돼용 아마 설치할 때 ..

CS/DataBase 2021.08.24

✏️ git commit message 작성법

commit message란? 작업중인 로컬 디렉토리에서 git add를 하게되면 변경된 파일의 목록이 stage에 추가되는데, 이 파일의 목록들을 HEAD에 반영시킬 때 git commit을 쓰게 됩니다. commit message는 HEAD에 어떤 변화가 반영이 되었는지 설명하기 위한 글입니다. 규칙에 맞는 좋은 커밋 메세지를 작성해야하는 이유는? 팀원과의 소통 미래의 나를 위해 편리하게 기록을 추적할 수 있도록 ..💛 커밋 메시지의 7가지 규칙 제목과 본문을 빈 행으로 구분합니다. 제목을 50글자 내로 제한합니다. 제목 첫 글자는 대문자로 작성합니다. 제목 끝에 마침표를 넣지 않습니다. 제목은 명령문으로 사용하며 과거형을 사용하지 않습니다. 본문의 각 행은 72글자 내로 제한합니다. 어떻게 보다는 ..

Study/Git 2021.08.24