본문 바로가기
728x90

전체 글423

[python] 백준 15686 치킨 배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 해결 치킨집을 m개로 줄여서 각 집에서 치킨집까지 최소거리 합을 구해야한다. 치킨집을 m개로 줄이는 경우의 수는 combinations 라이브러리를 이용하면 좋을 것이다. 그러기 위해서는 치킨집 좌표를 알아야할 것이다. for문을 통해 치킨집 좌표와 집 좌표를 구해놓자. 치킨집 m개를 뽑은 다음 집 하나 치킨집 하나씩 매칭 시켜가며 최소거리 합을 구해본다. 시간복잡도가 .. 2023. 3. 5.
[python] 백준 1072 게임 https://www.acmicpc.net/problem/1072 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net 문제 해결 버림을 통해 정수만 추출했을 때 변화를 시작하는 횟수를 구하는 문제 단순히 하나씩 시도횟수를 증가시키면 시간초과... (그래서 이분 탐색을 사용!) 99프로 부터는 안바뀐다... 100은 완전한 숫자이기 때문에... 따라서 z>98이면 무조건 -1 CODE x, y = map(int, input().split()) z = (y*100)//x if z>98: #99에서 100은 못.. 2023. 3. 5.
[python] 백준 5639 이진 검색 트리 https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 문제 해결 전위 순회(preorder)한 노드의 value 값을 리스트 안에 차례대로 받는다. 인덱스를 차례대로 키워가며 노드의 value 값이 이전보다 작으면 깊이를 늘리지 않고 오른쪽 자식 값으로 가는 규칙이 있다. 이 트리를 후위 순회(postorder)한 결과를 출력하는 것이 문제 인덱스를 이용하여 후위 순회 함수를 만들면 된다. 중간에 노드의 value 값이 이전보다 작아 더.. 2023. 3. 5.
[python] 백준 3190 뱀 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 해결 board 좌표를 만들어 뱀의 움직임과 사과가 있는 좌표를 구현할 수 있도록 한다. 뱀이 있는 곳은 1, 사과가 있는 곳은 2로 값을 놓는다. ( 그 외는 0) 방향이 바뀌는 것을 인지해 dictionary를 통해 dict[시간] = '움직이는 방향' 해서 'R'일 경우 'L'일 경우 인덱스 변동으로 방향이 변할 수 있도록 move라는 리스트를 정리한다. ( 동, 남, 서, 북 ) 을 리스트에.. 2023. 3. 5.
728x90