본문 바로가기

Study104

[종만북] BOARDCOVER - 게임판 덮기 (자바 java) 알고리즘 문제해결전략(종만북) 스터디 메인 페이지 목차 문제 : aoj-BOARDCOVER 풀이 모든 칸에 블록을 놓아본다고 하자. 이 경우 흰 칸의 수는 50을 넘지 않는다고 했고, 블록 하나에 3칸씩이므로 최대 16개를 덮으면 된다. 블록의 모양은 4가지이므로, O(C x 4^16) 이 필요하다. 방법을 좀 다르게 생각해서 각 칸마다 놓거나 안놓거나 해봐도 O(C x 2^50)이므로 마찬가지로 불가능하다. 여기서 생각해볼 점은, 블록의 3칸 중 가장 상단 좌측의 위치를 기준으로 놓는다고 생각해보자. 그리고 주어진 게임판의 상단부터 하단으로, 좌측에서 우측으로 쭉 보면서 블록을 놓는다고 해보자. 이렇게 되면 만약 블록을 놓지 않고 그냥 지나쳤을 때, 해당 위치엔 다시는 블록을 놓을 수 없음이 증명된다... 2023. 3. 20.
[종만북] PICNIC - 소풍 (자바 java) 알고리즘 문제해결전략(종만북) 스터디 메인 페이지 목차 문제 : aoj-PICNIC 풀이 n명을 일렬로 놓는 경우의 수는 n! 이다. 따라서 일렬로 놓고 2명씩 쌍을 짓는다고 생각해보면 O(C x n!)가 필요하므로 통과할 수 없다. 더 효율적으로 하려면 2명씩 짝지어볼 수 있다. 이 때, 주의할 점은 아래의 경우들은 모두 같은 경우라는 점이다. '일부만 다르더라도 다른 방법' 이라고 써져 있는 부분은 짝이 다를 경우이지, 이미 정해진 쌍에 대해서는 상관이 없다. (0, 1), (2, 3) (0, 1), (3, 2) (1, 0), (2, 3) (2, 3), (0, 1) (3, 2), (1, 0) ... 등 그리고 모든 학생이 쌍에 포함되어야 하므로, 그냥 쌍을 지어주는 방향을 고정시켜도 결과는 동일하다... 2023. 3. 20.
[종만북] BOGGLE - 보글 게임 (자바, C++) 알고리즘 문제해결전략(종만북) 스터디 메인 페이지 목차 문제 : aoj-BOGGLE 풀이 전체적인 로직은 다음과 같다. A. 보글 게임판을 입력받는다. B. N개의 각 단어에 대해, 각 문자와 동일한 보글 게임판의 문자 위치를 찾는다. C. 이후 각 단어의 모든 문자를 찾을 수 있는 동안 보글 게임판의 현재 위치에서 8방향으로 탐색을 진행한다. D. 모든 문자를 찾았다면 YES, 아니면 NO 이다. 위와 같이 완전탐색으로 진행하면 O(C x N * 8^10) 정도의 시간이 필요하므로 풀 수 없다(10은 단어의 길이를 뜻한다). 그래서 좀 더 줄여봐야 한다. 우선 'A'를 입력받으면서 모든 대문자(26개)에 대해 존재유무를 체크해둔다. -> N개의 문자에 체크해둔 문자에 없는 문자가 등장한다면 탐색을 해보.. 2023. 3. 20.
[지속적인 통합] 9장. 지속적인 피드백 지속적인 통합 스터디 메인 페이지 목차 * 주의 : 책(폴M 듀발 저 - 지속적인 통합) 내용 중 기억하고 싶은 내용 및 제 생각을 적은 글 입니다. 책이 나온지 오래되어 설명에 나온 기술스택이 현재 사용되지 않는게 많아 기술스택보다는 이론이나 책의 조언들 위주로 작성할 것 같고, 기술스택은 제가 알고있는대로 수정해서 작성합니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. * 별도로 표기되어 있지 않다면 이미지 출처는 '지속적인 통합 (폴M 듀발 저)' 책 입니다. CHAPTER 9. 지속적인 피드백 피드백이 없이는 CI의 어떤 측면들도 쓸모가 없다. 7~8시간이 지나도록 테스트나 검사가 실패했다는 걸 알지 못하면, 문제가 전파되어 다른 실패까지 불러일으키기 전에 즉각적인 조치를 취하거나 문제.. 2023. 3. 19.
[지속적인 통합] 8장. 지속적인 배포 지속적인 통합 스터디 메인 페이지 목차 * 주의 : 책(폴M 듀발 저 - 지속적인 통합) 내용 중 기억하고 싶은 내용 및 제 생각을 적은 글 입니다. 책이 나온지 오래되어 설명에 나온 기술스택이 현재 사용되지 않는게 많아 기술스택보다는 이론이나 책의 조언들 위주로 작성할 것 같고, 기술스택은 제가 알고있는대로 수정해서 작성합니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. * 별도로 표기되어 있지 않다면 이미지 출처는 '지속적인 통합 (폴M 듀발 저)' 책 입니다. CHAPTER 8. 지속적인 배포 소프트웨어를 작성하라고 급여를 준다면, 급여를 지급하는 조직은 예측가능하고 현실적인 시일이 지난 후엔 여러분이 최종 사용자에게 작동하는 소프트웨어를 제공하리라 기대한다. 배포 프로세스를 개발 프로세.. 2023. 3. 19.
[지속적인 통합] 7장. 지속적인 검사 지속적인 통합 스터디 메인 페이지 목차 * 주의 : 책(폴M 듀발 저 - 지속적인 통합) 내용 중 기억하고 싶은 내용 및 제 생각을 적은 글 입니다. 책이 나온지 오래되어 설명에 나온 기술스택이 현재 사용되지 않는게 많아 기술스택보다는 이론이나 책의 조언들 위주로 작성할 것 같고, 기술스택은 제가 알고있는대로 수정해서 작성합니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. * 별도로 표기되어 있지 않다면 이미지 출처는 '지속적인 통합 (폴M 듀발 저)' 책 입니다. CHAPTER 7. 지속적인 검사 코드를 분석하는 '코드 검토, 짝 프로그래밍, 정적 코드 분석'은 모두 엄격히 적용하지 않으면 그다지 유용하지 않다. 코드 검토(코드 리뷰인듯)나 짝 프로그래밍의 경우, 코드에서 악취가 나더라도 동.. 2023. 3. 19.
[지속적인 통합] 6장. 지속적인 테스트 지속적인 통합 스터디 메인 페이지 목차 * 주의 : 책(폴M 듀발 저 - 지속적인 통합) 내용 중 기억하고 싶은 내용 및 제 생각을 적은 글 입니다. 책이 나온지 오래되어 설명에 나온 기술스택이 현재 사용되지 않는게 많아 기술스택보다는 이론이나 책의 조언들 위주로 작성할 것 같고, 기술스택은 제가 알고있는대로 수정해서 작성합니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. * 별도로 표기되어 있지 않다면 이미지 출처는 '지속적인 통합 (폴M 듀발 저)' 책 입니다. CHAPTER 6. 지속적인 테스트 선형 시스템의 신뢰도는 각 시스템 컴포넌트의 신뢰도를 곱한 값 각각의 신뢰도가 99%인 컴포넌트 100개로 구성된 프로그램이라면 37% 신뢰할 수 있다. 신뢰할 만한 소프트웨어를 만들려면 최소한 .. 2023. 3. 12.
[지속적인 통합] 5장. 지속적인 데이터베이스 통합 지속적인 통합 스터디 메인 페이지 목차 * 주의 : 책(폴M 듀발 저 - 지속적인 통합) 내용 중 기억하고 싶은 내용 및 제 생각을 적은 글 입니다. 책이 나온지 오래되어 설명에 나온 기술스택이 현재 사용되지 않는게 많아 기술스택보다는 이론이나 책의 조언들 위주로 작성할 것 같고, 기술스택은 제가 알고있는대로 수정해서 작성합니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. * 별도로 표기되어 있지 않다면 이미지 출처는 '지속적인 통합 (폴M 듀발 저)' 책 입니다. CHAPTER 5. 지속적인 데이터베이스 통합 개발 생명주기 내내 소스 코드와 DB가 완전히 '별세계'에서 따로 노는 것 같은 느낌을 받은 적 없나요? 지속적인 데이터베이스 통합 변경 사항이 커밋될 때마다 DB와 테스트 데이터를 다.. 2023. 3. 12.
[Study 006] 외워서 끝내는 네트워크 핵심이론 오브젝트 스터디 팀에서 이어서 진행하게 된 스터디다. 스터디 주제 널널한 개발자 강사님의 외워서 끝내는 네트워크 핵심이론 강의를 보고 토론 및 질문. 참가자 - https://github.com/nahwasa - https://github.com/ohgillwhan - https://github.com/woogiekim - https://github.com/K-jun98 일정 (완료) 1주차 2023-02-05 : 섹션 0, 섹션 1 2주차 2023-02-12 : 섹션 2, 섹션 3 3주차 2023-02-19 : 섹션 4, 섹션 5 내용 정리 다른 스터디들 정리하던 것과는 다르게 인프런 강의에 대한 정리는 블로그에 전체 공개로 작성은 힘들 것으로 생각됩니다. ㅠ https://www.notion.so/n.. 2023. 3. 8.
[Study 005] 테스트 주도 개발 스터디 주제 '테스트 주도 개발 (켄트 벡 저)' 를 메인으로 진행 + 테스트 코드 짜는 방법 관련. 각자 스터디할 챕터 모두 읽어온 후(챕터별 담당자 없음) 모여서 토론. 혹은 질문할 부분이나 추가로 얘기하고 싶은 부분 얘기하기. 참가자 - https://github.com/nahwasa - https://github.com/UjiinEatingTangerines - https://github.com/Octoping925 - https://github.com/jsm8778 - https://github.com/realain - https://github.com/sorrymommy 일정 (완료) 매주 토요일 오후 2시 게더타운에서 진행. 1주차 (2022-12-17) : 킥오프, 1장, 2장 2주차 (2.. 2023. 3. 8.