[SWEA|파이썬] 1206. [S/W 문제해결 기본] 1일차 - View (D3)

2023. 5. 6. 23:29·Problem Solving/SWEA
문제

https://tinyurl.com/2h63zh9c

 

SW Expert Academy

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

swexpertacademy.com

 

 

🐍파이썬
for test_case in range(1, 11):
    a = int(input())
    answer = 0
    n = list(map(int, input().split()))
    for i in range(2, len(n)-2):
        #내 전의 두 아파트 / 나 이후의 두 아파트 중 어느 하나라도 나보다 크면 조망권 침해
        if n[i-2] > n[i] or n[i-1] > n[i] or n[i+1] > n[i] or n[i+2] > n[i]:
            continue
        answer += n[i] - max(n[i-2], n[i-1], n[i+1], n[i+2])
    print("#{} {}".format(test_case, answer))

건물 i의 조망권이 보장되려면 양옆 건물 2개의 높이가 i보다 커서는 안 된다. 따라서 건물 i의 이전 건물 2채, 이후 건물 2채 중 하나라도 i의 높이보다 높으면 조망권은 보장되지 않는다. 👉 continue로 처리

위의 경우가 아니라면 건물 i의 몇 층까지 조망권을 보장받는지 확인한다. 건물 i의 이전 건물 2채, 이후 건물 2채 중 건물 i와 동일한 층에 존재하는 건물이 있다면 해당 층은 조망권을 보장받지 못한다. 따라서 4채의 건물 중 가장 높은 건물을 기준으로 건물 i의 몇층까지 조망권이 확보되는지 확인한다. 👉 n[i] - max(n[i-2], n[i-1], n[i+1], n[i+2])

 

 

다른 풀이 방법

T = 10
for test_case in range(1, T + 1):
    N = int(input())
    buildings = list(map(int, input().split()))
    shine = 0  # 조망권을 가진 세대
    temp = [0, 0, 0, 0, 0]  # 조망권 비교를 위해 다섯 건물 집합
    for i in range(2, N - 2):
        temp = [buildings[i - 2], buildings[i - 1], buildings[i], buildings[i + 1], buildings[i + 2]]
        temp.sort(reverse=True)	#건물층 내림차순 정렬
        if temp[0] == buildings[i]:	#가장 높은 건물이 현재 건물i라면
            shine += buildings[i] - temp[1]	#현재 건물층수 - 두번째로 높은 건물 층수
    print("#{} {}".format(test_case, shine))

 

저작자표시 비영리 변경금지 (새창열림)

'Problem Solving > SWEA' 카테고리의 다른 글

[SWEA|파이썬] 2805. 농작물 수확하기 (D3)  (0) 2023.05.08
[SWEA|파이썬] 2806. N-Queen (D3)  (1) 2023.05.07
[SWEA|파이썬] 1208. [S/W 문제해결 기본] 1일차 - Flatten (D3)  (0) 2023.05.07
[SWEA|파이썬] 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (D3)  (0) 2023.05.07
[SWEA|파이썬] 5215. 햄버거 다이어트 (D3)  (0) 2023.04.27
[SWEA|파이썬] 16800. 구구단 걷기 (D3)  (0) 2023.04.26
'Problem Solving/SWEA' 카테고리의 다른 글
  • [SWEA|파이썬] 1208. [S/W 문제해결 기본] 1일차 - Flatten (D3)
  • [SWEA|파이썬] 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (D3)
  • [SWEA|파이썬] 5215. 햄버거 다이어트 (D3)
  • [SWEA|파이썬] 16800. 구구단 걷기 (D3)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    mysql
    파이썬
    프로젝트
    클론 프로젝트
    포트폴리오
    ZeroCho
    bfs
    공식문서
    자바스크립트
    spring boot
    프로그래머스
    자바
    플러터
    뉴렉처
    Jiraynor Programming
    d3
    Til
    리액트
    구현
    알고리즘
    백준
    SWEA
    블로그 제작
    React
    웹사이트
    타입스크립트
    Next.js
    컴퓨터네트워크
    AWS
    강의내용정리
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[SWEA|파이썬] 1206. [S/W 문제해결 기본] 1일차 - View (D3)
상단으로

티스토리툴바