본문 바로가기 메뉴 바로가기

구름을 채우다

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

구름을 채우다

검색하기 폼
  • 분류 전체보기 (81)
    • 내 이야기 (0)
    • 나만의 사진전 (2)
    • TIL (1)
    • 컴퓨터공학 (11)
      • 운영체제 (11)
    • 프로그래밍 언어 (3)
      • Java (3)
      • Python (0)
    • 알고리즘 (45)
      • 백준 (34)
      • 프로그래머스 (11)
    • Cloud Computing (13)
      • Openstack (10)
      • Docker (3)
      • Kubernetes (0)
    • Server Framework (1)
      • Django (1)
    • Books (5)
  • 방명록

dfs (2)
[백준 15684] 사다리 조작

문제 보기이 문제는 브루트 포스 문제이다.완전탐색을 위해서 DFS를 재귀적으로 구현하였다.문제를 풀기위한 로직은 다음과 같다. 사다리를 놓을 수 있는 경우의 수 0, 1, 2, 3에 대하여, 그 갯수만큼 사다리를 놓을 때의 모든 경우의 수를 순서대로 탐색한다. (44~46번째 줄)만약 answer의 값이 변경되었다면(= sys.maxsize가 아닐 때), 필요한 사다리의 갯수를 찾았다고 간주하고 정답을 출력한다. (47~51번째 줄)사다리를 놓을 수 있는 모든 위치를 탐색하면서, 사다리를 놓을 모든 경우의 수를 DFS로 탐색한다. (32~41번째 줄)DFS를 재귀적으로 실행하면서 정해놓은 갯수만큼 사다리를 놓았다면, 사다리 게임을 시작하고, i번째 사다리에서 시작해서 i번째 사다리에서 모두 끝나는지 검사..

알고리즘/백준 2019. 10. 15. 00:06
[백준 14889] 스타트와 링크

문제 보기이 문제는 브루트 포스 문제이다.두 팀의 능력치의 경우의 수를 모두 따져서 그 차이가 최소가 되는 것을 찾아야 한다.먼저 각 팀을 정확히 절반으로 나누는 과정은 DFS로 구현하였다. 문제를 해결하는 단계는 다음과 같다.1. n 명의 선수들을 2개 팀으로 나누어서 배치한다. (DFS 적용)2. 각 팀에서 선수 2 명을 선택하여, 팀에 더해지는 능력치를 구하고, 팀의 총 능력치에 더한다. (조합)3. 두 팀의 능력치 차이의 최소값을 구한다. 다른 사람들의 풀이를 보아하니, itertools의 combination 함수를 사용한 것을 보았다.다음에는 나도 itertools를 사용해서 문제를 풀어봐야겠다. 123456789101112131415161718192021222324252627282930313..

알고리즘/백준 2019. 9. 30. 17:06
이전 1 다음
이전 다음
링크
  • Github
공지사항
  • 환영합니다.
최근에 달린 댓글
Total
Today
Yesterday
TAG
  • 파이썬
  • Deadlock
  • 스택
  • 프로그래머스
  • 알고리즘
  • 시뮬레이션
  • openstack
  • Clean Code
  • docker
  • dfs
  • contribution
  • Message Passing
  • bfs
  • git
  • 해쉬
  • gerrit
  • Java
  • 백준
  • shared memory
  • 큐
  • 운영체제
  • 브루트포스
  • contribute
  • launchpad
  • Synchronization
  • 클린 코드
  • Bounded Buffer
  • 덱
  • 파이썬 클린 코드
  • Python
more

Blog is powered by Tistory / Designed by Tistory

티스토리툴바