땅지원
땅지원's Personal blog
땅지원
전체 방문자
오늘
어제
  • 전체 (353)
    • Frontend (2)
      • React (2)
    • Backend (90)
      • Java (16)
      • Python (19)
      • Spring (23)
      • Database (21)
      • Troubleshooting (8)
    • DevOps (27)
      • ELK (13)
    • CS (40)
    • OS (2)
      • Linux (2)
    • Algorithm (95)
      • concept (18)
      • Algorithm Problem (77)
    • 인공지능 (25)
      • 인공지능 (12)
      • 연구노트 (13)
    • 수업정리 (35)
      • 임베디드 시스템 (10)
      • 데이터통신 (17)
      • Linux (8)
    • 한국정보통신학회 (5)
      • 학술대회 (4)
      • 논문지 (1)
    • 수상기록 (8)
      • 수상기록 (6)
      • 특허 (2)
    • 삼성 청년 SW 아카데미 (6)
    • 42seoul (12)
    • Toy project (3)
    • 땅's 낙서장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 20.11.6 BB21플러스 온라인 학술대회
  • 20.10.30 한국정보통신학회 온라인 학술대회

인기 글

태그

  • ㅗ
  • E
  • I
  • 이것이 리눅스다 with Rocky Linux9
  • D

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
땅지원

땅지원's Personal blog

Algorithm/Algorithm Problem

백준 16206 롤케이크(그리디)

2022. 7. 12. 16:20

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

 

16206번: 롤케이크

오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서

www.acmicpc.net

문제를 읽고 그리디적으로 푸는 것이라고 생각했다.

무조껀 10의 케이크만 먹을 수 있기 때문에 10으로 나눈 몫과 나머지에 집중을 하기 시작했다.

규칙을 찾아보니까 

1. x에 대해 10으로 나눈 나머지가 있을 경우 x//10번 자르면 x//10개의 10길이 조각이 나온다.

2. x에 대해 10으로 나눈 나머지가 없을 경우 x//10 -1번 자르면 x//10개의 10길이 조각이 나온다.

 

이 2가지 규칙을 이용해서 구현을 해주면 된다.

케이크를 먼저 sort()시킨다음에 주어진 m에 대해서 차감해주면서 반복문을 진행하면 된다.

n,m = list(map(int,input().split()))
data = list(map(int,input().split()))
data.sort(key=lambda x:(x%10,x))
res = 0
#print(data)
for temp in data:
    cnt = temp//10
    if temp % 10: #나머지가 있을 때
        if cnt <= m:
            res += cnt
            m -= cnt
        else:
            res += m
            m -= m
    else: # 나머지가 없을 때
        if cnt-1 <= m:
            res += cnt
            m -= cnt-1
        else:
            res += m
            m -= m
    #print(res,m)
print(res)


 

 

 

 

 

'Algorithm > Algorithm Problem' 카테고리의 다른 글

백준 최소 회의실 개수(우선순위 큐, 그리디)★★  (0) 2022.08.12
백준 17406 배열 돌리기4(구현)  (0) 2022.08.12
백준 1068 트리(DFS)  (0) 2022.07.10
백준 3079 입국심사(이분탐색)  (0) 2022.07.10
백준 2251 물통(BFS)  (0) 2022.07.03
    'Algorithm/Algorithm Problem' 카테고리의 다른 글
    • 백준 최소 회의실 개수(우선순위 큐, 그리디)★★
    • 백준 17406 배열 돌리기4(구현)
    • 백준 1068 트리(DFS)
    • 백준 3079 입국심사(이분탐색)
    땅지원
    땅지원
    신입 개발자의 우당탕탕 기술 블로그

    티스토리툴바