코테(90)
-
백준 설탕 배달 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 최대한 적은 봉지를 가져가려고 하므로 5kg 봉지를 최대한 활용해야 한다. 우선 q5에 5kg 봉지의 최대 개수를 저장한다. q5를 0까지 하나씩 줄여가면서 5kg 봉지를 해당 개수만큼 들고 갔을 때, 남은 무게가 3의 배수인지 확인한다. 3의 배수라면 5kg 봉지 개수 + 남은 무게를 3으로 나눈 몫이 정답이 된다. 최대한 5kg 봉지를 많이 가져가야 하므로 조건이 충족되면 바로 break로 for loo..
2021.10.04 -
백준 별 찍기 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 로그 함수 때문에 애 먹었다 왜 그러는거야? 왜 log_3(81)은 4.0이고 log_3(243)은 4.99 라서 날 힘들게 만든거야! int가 아니라 round를 써야 했다 재귀함수를 사용했다. [이전 모양 사각형] [이전 모양 사각형] [이전 모양 사각형] [이전 모양 사각형] [ N/3 빈 정사각형] [이전 모양 사각형] [이전 모양 사각형] [이전 모양 사각형] ..
2021.09.29 -
백준 최종 순위 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/3665 3665번: 최종 순위 올해 ACM-ICPC 대전 인터넷 예선에는 총 n개의 팀이 참가했다. 팀은 1번부터 n번까지 번호가 매겨져 있다. 놀랍게도 올해 참가하는 팀은 작년에 참가했던 팀과 동일하다. 올해는 인터넷 예선 본부에 www.acmicpc.net '?'를 출력하는 경우는 이해가 안 돼서 구현을 못 했는데 통과되어 버렸다... 그래프를 사용하지 않고 dictionary를 사용했다. key는 팀 번호, value는 그 팀보다 순위가 낮은 팀 번호들의 목록 작년 순위에 따라 이 dictionary를 초기화하고, 순위가 바뀐 정보가 들어오면 이에 따라 정보를 업데이트한다. 총 팀의 개수를 M이라고 할 때, 업데이트 후에 각 value의 길..
2021.09.29 -
백준 인구 이동 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net * Python으로는 시간 초과, PyPy3로는 통과 find_union 함수로는 현재 국가들 상태에서 국경 열 수 있는 국가들을 구합니다. 반환하는 것은 list of list인 unions로, 같은 연합국인 국가들의 좌표를 하나의 리스트로 저장합니다. 만약 연결되지 않는 연합국 그룹이 2개라면, unions는 2개의 리스트를 가진 리스트입니다. 모든 좌표에 대해 아직 방문하지 않..
2021.09.22 -
백준 감시 피하기 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 백준 연구소 문제와 유사하게 풀이했습니다. school엔 입력으로 받아들인 학교의 상태, teachers에는 모든 선생님들의 위치 좌표, blank에는 빈 곳의 위치 좌표를 저장합니다. teacher_detect 함수에선 한 명의 선생님이 감시할 수 있는 범위를 확인합니다. 입력으로 주어진 선생님의 위치 좌표에 대해, 그 좌표의 상하좌우를 순서대로 살펴봅니다. 현재 방향으로 이동하면서, ..
2021.09.22 -
백준 연구소 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 최적의 벽 세우기를 알고리즘으로 생각하긴 너무 어려운 것 같아서.. 그냥 모든 combination으로 계산해보는 걸로 코드를 짜봤다. Python3으로는 시간초과고 PyPy3로는 통과라서 약간 찜찜하지만~ 그래도~~ 입력으로 주어진 연구소를 graph, 연구소에서 벽을 세울 수 있는 빈 곳의 좌표는 blank, 바이러스의 좌표는 virus에 저장했다. compute_safe 함수로는 입력으로 주어진 연구소 ..
2021.09.08