문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
2019년 12월 31일에 푼 문제입니다. 당일 저녁에 약속이 있어서 문제 풀고 바로 약속 장소로 출발해서 바로 업로드를 못했습니다. 문제도 한 문제밖에 못풀었네요. 1시간 27분만에 풀었습니다. 가끔 느끼는 거지만 swexpert의 문제 명세가 좀 불충분하다는 느낌이 드는데 저는 이 문제가 그랬습니다. 여러개의 마름모를 만들 수 있는 줄 알았는데 그건 아니고 하나의 마름모 모양만 가능합니다. 하나의 마름모 모양으로 손해는 보지 않으면서 최대한 많은 집을 포함시키는 것이 목적입니다.
시뮬레이션 문제입니다. 개인적으로 백준의 별찍기 문제하고 비슷하다고 생각됩니다. 이 문제가 어려우셨다면 백준의 별찍기 문제들을 도전해보시는 것을 추천드립니다. 이번에도 시간에 쫓기면서 풀어서 그런지 코드가 대단히 복잡해보이지만 사실 별거 없습니다. 모든 지점에서 1부터 n까지의 마름모 모양을 테스트해보는 방식으로 풀었습니다. 마름모를 테스트하는 부분은 security_service함수입니다. 가장 위의 꼭지점을 먼저 체크하고 내려오면서 검사합니다. 그리고 현재 위치에 도달하면 현재 위치가 포함되어있는 행을 검사합니다. 밑 부분도 마찬가지로 가장 밑 꼭지점을 체크하고 위로 올라오는 방식입니다. 위 아래 꼭지점으로부터 현재 위치까지의 거리는 k-2기 때문에 그만큼의 행만 계산해주시면 됩니다.
'문제 해결 > SWEA' 카테고리의 다른 글
[SWEA] 2383. 점심 식사 시간 (0) | 2020.01.02 |
---|---|
[SWEA] 2382. 미생물 격리 (0) | 2020.01.02 |
[SWEA] 2115. 벌꿀채취 (0) | 2019.12.30 |
[SWEA] 2112. 보호필름 (0) | 2019.12.30 |
[SWEA] 2105. 디저트 카페 (0) | 2019.12.28 |