백준 22945 < 팀 빌딩 > Python

2022. 12. 27.·☕️ 커리어 & 인터뷰 준비/코딩 테스트

📍문제 링크

https://www.acmicpc.net/problem/22945

 

22945번: 팀 빌딩

능력치가 다 다른 개발자 $N$명이 팀 빌딩을 위해 한 줄로 서있다. 하나의 팀을 만들기 위해서는 개발자 2명이 반드시 모여야 한다. 개발자 A와 개발자 B가 팀을 만들 때 팀의 능력치는 아래와 같

www.acmicpc.net

 

📍알고리즘 분류

- 정렬

- 투 포인터

 

📍문제 풀이

- 시간 초과를 해결하기 위한 노력1

left와 right 중에서 더 작은 값(min)을 끊임없이 갱신(centering)해가면 된다

만약 큰값을 centering하면, 간격도 좁아지고, 기존 값보다 작아질 수 있기 때문에, 출력할 최댓값을 보존할 수 없기 때문이다

 

- 시간 초과를 해결하기 위한 노력2

Python에서 변수명을 가능한 짧게 하는 것이 도움이 되는 것 같다

 

- 시간 초과를 해결하기 위한 노력3

가급적 if, elif 를 통해 조건을 세세하게 따지는 것이 좋지만,

solve를 위해서는 문제에서 괜찮다면 if, else 로만 나누는 것이 좋다

 

📍코드 (Python)

n = int(input())
t = list(map(int, input().split()))

left = 0
right = n - 1
res = 0

while left + 1 < right:
    res = max(res, (right - left - 1) * min(t[left], t[right]))
    if t[left] < t[right]:
        left += 1
    else:
        right -= 1

print(res)

 

📍리뷰

- Node.js로 도저히 해결이 안되면 Python을 사용하자!!

- Python3 로도 해결이 안되면 Pypy3 로 제출해보자

'☕️ 커리어 & 인터뷰 준비/코딩 테스트' 카테고리의 다른 글
  • 백준 2302 < 극장 좌석 > JavaScript
  • 백준 21921 < 블로그 > JavaScript
  • 백준 20364 < 부동산 다툼 > JavaScript
  • 백준 14627 < 회사 문화 1 > JavaScript
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (510)
      • 🎨 프론트엔드 공부 (247)
        • JS & TS (86)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
백준 22945 < 팀 빌딩 > Python

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.