목록2024/02/18 (2)
-
문제 https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 방법 지나갈 수 있는 길인지 체크할 때, 높이가 같은 경우 : 그냥 넘어감 높이가 2 이상 차이 나는 경우 : False 반환 왼쪽이 더 높은 경우 : 경사로를 놓을 공간이 있는지 체크 후 경사로 설치 오른쪽이 더 높은 경우 : 경사로를 놓을 공간이 있는지 체크 후 경사로 설치 로 나눠서 풀어야 한다. 이 때, 경사로를 설치한 곳에는 중복해서 설치할 수 없기 때문에 bridge 라는 리스트를 만들어 해당 위치..
문제 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 풀이 방법 n = 3 일 때, 전체 9칸을 차례대로 돌면서 주변에 있는 내가 원하는 번호의 개수와, 빈 자리를 체크하여 리스트에 저장한다. 문제에서 주어진 조건에 맞게 자리 배치를 하기 위해 lambda 함수를 사용해 리스트를 정렬하는데, 원하는 번호의 개수와 빈자리를 내림차순으로, 행과 열을 오름차순으로 정렬한다. 이렇게 정렬을 마쳤으면 가장 첫 번째 오는 원소에 있는 행과 열에..