[백준] 21736번 헌내기는 친구가 필요해 [Python] - 그래프 이론
$N \times M$ 크기이며 캠퍼스에서 O는 빈 공간, X는 벽, I는 도연이, P는 사람으로 주어질 때, 상하좌우로만 이동가능한 도연이가 몇 명의 사람을 만날 수 있을까? 더보기 문제 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 싶다. 도연이가 다니는 대학의 캠퍼스는 $N \times M$ 크기이며 캠퍼스에서 이동하는 방법은 벽이 아닌 상하좌우로 이동하는 것이다. 예를 들어, 도연이가 $(x, y)$에 있다면 이동할 수 있는 곳은 $(x+1, y)$, $(x, y+1)$, $(x-1, y)$, $(x, y-1)$이다. 단, 캠퍼스의 밖으로 이동할 수는 없..
[백준] 18870번 좌표 압축 [Python] - 좌표 압축
입력 받은 숫자를 오름차순으로 정렬하고 중복을 없애 인덱스 값으로 치환하는 문제 출력은 원래 받은 숫자의 순서대로 치환한 값을 출력하기 더보기 문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 제한 1 ≤ N ≤ 1,000,000 -109 ≤ ..