jh05013   5년 전

== 17106 빙고 ==

https://www.acmicpc.net/board/view/35468

== 17108 파이의 왕 김파이 ==

https://www.acmicpc.net/board/view/35428

== 17110 Africa 2 ==

https://www.acmicpc.net/board/view/35507

== 17115 Kudeki Chain ==

문제

보통 백준 온라인 저지와 같은 사이트에서 문제를 풀며 코드를 작성할 때는 버전 관리 도구(Version Control System, VCS)를 필요로 하지 않는다. 하지만 소프트웨어를 개발하는 과정에서, 여러 명의 개발자와 협업하며 소스 코드를 관리하기 위해서는 VCS를 사용하는 것이 필수적이다.

개발자들은 전세계의 개발자들과 협업하며 오픈소스 소프트웨어를 개발하기 위해 git과 같은 VCS를 사용하고 있다. git이 처음 출시된 것은 2005년의 일이지만, 2008년 GitHub과 같이 웹사이트에 git 저장소를 관리할 수 있게 된 뒤로, 리눅스, 비트코인과 같은 수많은 오픈소스 소프트웨어들이 GitHub을 통해 개발되고 있다.

비트코인과 같은 블록체인 기술에 익숙한 사람이라면 hash가 무엇인지 알 것이다. hash는 임의의 길이의 문자열을 받아, 제한된 길이의 문자열을 만들어내는 함수다. 이 hash 함수가 가져야 할 중요한 조건 중 하나는, 문자열이 단 한 글자만 바뀌더라도 함숫값은 크게 변해야 한다는 것이다. 바로 이 점 덕분에, 이전에 있었던 거래의 기록을 조금이라도 변형하려는 시도가 불가능하여 블록체인 기술이 가능하게 된 것이다.

블록체인 뿐만 아니라 git도 각 commit에 대해 hash를 매긴다. 각 commit에 대해 hash가 어떻게 계산되는지는 https://gist.github.com/masak/2415865 에 잘 설명되어있다.

비트코인을 채굴하듯이, 우리도 간단히 git을 이용해 채굴(?)을 해보자. N번째 commit은 그의 hash가 반드시 N개의 0으로 시작해야 한다. git에서 사용되는 sha1 hash의 길이는 40자이므로, 이론적으로 최대 40명의 사람이 이 문제에 대해 "맞았습니다!!"를 받을 수 있다.

https://github.com/seungwonpark/kudeki-chain 을 fork해서, success.txt의 내용을 자신의 BOJ 아이디로 바꾸는 commit을 한 뒤, commit hash가 N개의 0로 시작하게 될 때까지 수많은 시도(git amend)를 하다가, 성공하면 pull request를 하여 본 저장소의 master 브랜치에 merge되면 된다.

입력 설명: 입력은 없다.

== 17119 오색 정리 ==

만약 아래 링크에서 "단순 실수니까 수정하자"에 더 많은 표가 있으면 출력 설명의 "M개의 숫자"를 "N개의 숫자"로 고쳐 주세요.

https://www.strawpoll.me/17759821

== 17120 이모지 ==

https://www.acmicpc.net/board/view/35452

또한 https://www.acmicpc.net/board/view/35536 에 따라, 문제 설명의 밑에 "현재 슬랙 웹 버전을 기준으로 한다."를 추가해 주세요.

startlink   4년 전

startlink   4년 전

수정했습니다.

댓글을 작성하려면 로그인해야 합니다.