[이진탐색] 떡볶이 떡 만들기

2021. 12. 7. 23:05·알고리즘_코딩테스트/이것이 코딩테스트다

1. 문제 설명

- 주어진 떡의 길이들을 자르고 남은 것들을 손님이 가져가게 되는데, 손님이 가져갈 수 있는 떡볶이 양을 정확하게 맞출 수 있게 높이를 구하는 문제

- 떡을 최대한 덜 자르면서 손님에게 줄 수 있게 하는 것이 문제의 포인트다.

2. 코드

# 입력
n, m = list(map(int, input().split()))
array = list(map(int, input().split()))
"""
3, 6
19 15 10 17
"""
# 변수 초기화
start= 0
end = max(array) # 19
result=0

# 높이 계산
while(start < end):
    mid = (start+end)//2
    tmp = list(map(lambda x: x-mid if x > mid else 0, array)) # 떡의 양을 계산
    if sum(tmp) > m:
        start = mid+1
    elif sum(tmp) < m:
        end = mid -1
    else: # 최대한 덜 잘랐을 때가 정답이므로, else에 해당 조건이 들어가야 한다.
        result = mid
        break
        
print(result)

"""
>> 15
15로 잘랐을 때 19-15=4, 17-15=2 로 4+2=6이 된다.
"""

3. 코멘트

- 탐색해야 하는 범위가 10억까지 크기 때문에 이진탐색을 고려해야 한다.

- 종종 코딩 문제 풀 때 잘 풀었다고 생각해도 시간이 오래 걸리는 경우는 순차탐색을 했기 때문이다. 문제의 범위가 너무 길다면 무조건 이진탐색을 생각하도록 하자.

 

'알고리즘_코딩테스트 > 이것이 코딩테스트다' 카테고리의 다른 글

[DP] 1로 만들기  (0) 2021.12.07
[이진탐색] 부품찾기  (0) 2021.12.07
[정렬] 두 배열의 원소 교체  (2) 2021.12.07
[정렬] 성적이 낮은 순서  (1) 2021.12.07
[정렬] 위에서 아래로  (0) 2021.12.07
'알고리즘_코딩테스트/이것이 코딩테스트다' 카테고리의 다른 글
  • [DP] 1로 만들기
  • [이진탐색] 부품찾기
  • [정렬] 두 배열의 원소 교체
  • [정렬] 성적이 낮은 순서
논곰
논곰
현재 2년 유목하고, 3년 이상 리테일 쪽에서 머신러닝 엔지니어로 잠시 정착 중인 AI 엔지니어입니다.
  • 논곰
    에이아이 유목민
    논곰
  • 전체
    오늘
    어제
    • 분류 전체보기 (200)
      • 기술 견문록 (22)
        • MLOps (8)
        • ProductServing (5)
        • 협업 툴 (3)
        • Error Collecting (2)
        • 컨퍼런스 (1)
        • 자격증 (1)
      • IT 견문록 (10)
        • 추가 학습 정리 (10)
      • 알고리즘_코딩테스트 (162)
        • 프로그래머스_Level1 (40)
        • 백준코딩테스트_단계별문제풀이 (14)
        • 이것이 코딩테스트다 (63)
        • 2021_알고리즘 스터디 (30일) (28)
        • 주간코딩 스터디 (주코스) (17)
      • 독서 견문록 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다시보기
    프로그래머스
    구현
    기술면접
    부스트캠프_AITech3기
    최단경로
    단계별문제풀이
    Level1
    백트랙킹
    mrc
    알고리즘스터디
    U_stage
    ODQA
    이코테
    백준
    알고리즘_스터디
    주간회고
    이진탐색
    글또
    Level2_PStage
    Level2
    파이썬 3
    그래프이론
    MLFlow
    그리디
    정렬
    부스트캠프_AITech_3기
    dfs
    python3
    dp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
논곰
[이진탐색] 떡볶이 떡 만들기
상단으로

티스토리툴바