2117. [모의 SW 역량테스트] 홈 방범 서비스

2023. 8. 28. 10:47·swea

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu&categoryId=AV5V61LqAf8DFAWu&categoryType=CODE&problemTitle=%EB%B0%A9%EB%B2%94&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

T = int(input())
for tc in range(1, T + 1):
    n, m = map(int, input().split())
    city = [list(map(int, input().split())) for _ in range(n)]
    homes = []
 
    for i in range(n):
        for j in range(n):
            if city[i][j]:
                homes.append((i, j))
 
    for k in range(n + 2, 0, -1):  # 마름모 한 변의 길이(큰 서비스 영역부터 줄여나감)
        cost = k * k + (k - 1) * (k - 1)
        if len(homes) * m >= cost:  # 손해를 보지 않을 때(등호주의)
            max_home_cnt = 0 
            for i in range(n):
                for j in range(n):
                    home_cnt = 0
                    for hi, hj in homes:  # 마름모안에 집이 있는가?
                        if abs(j - hj) + abs(i - hi) < k:  # 마름모 안과 집의 거리
                            home_cnt += 1
                    if home_cnt * m >= cost and max_home_cnt < home_cnt:  # 운영비용<= 수익, 기존보다 더 서비스 가능한 집 수가 많다면
                        max_home_cnt = home_cnt  # 집 수 최댓값 갱신
            if max_home_cnt:  # 집 수 최댓값이 갱신됐으면
                break
 
    print(f'#{tc} {max_home_cnt}')

전체를 담는 큰 마름모부터 시작해서 점점 줄여나가기

저작자표시 (새창열림)

'swea' 카테고리의 다른 글

1220. [S/W 문제해결 기본] 5일차 - Magnetic  (0) 2023.08.28
1860. 진기의 최고급 붕어빵  (0) 2023.08.28
4408. 자기 방으로 돌아가기  (0) 2023.08.28
4615. 재미있는 오셀로 게임  (0) 2023.08.28
5356. 의석이의 세로로 말해요  (0) 2023.08.28
'swea' 카테고리의 다른 글
  • 1220. [S/W 문제해결 기본] 5일차 - Magnetic
  • 1860. 진기의 최고급 붕어빵
  • 4408. 자기 방으로 돌아가기
  • 4615. 재미있는 오셀로 게임
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (381)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (1)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    개발자취업
    항해99
    99클럽
    Til
    코딩테스트준비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
2117. [모의 SW 역량테스트] 홈 방범 서비스
상단으로

티스토리툴바