본문 바로가기

전체 글

(62)
백준 2810 : 컵홀더(그리디)*** www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 양 끝의 사람은 무조건 바깥쪽 홀더를 사용해야 한다. 컵홀더에 컵을 꽂을 수 있는 최대 사람의 수 존재하는 컵홀더의 개수를 구한 다음에, 사람수와의 min값을 반환하면 된다 코너 테스트 케이스 : 5, SLLSS 1, S if __name__=='__main__': N = int(input()) seats = str(input()) Ls = seats.split('S') ## 커플석들의 정보 Ss = seats.split('LL') ## 싱글석들의 정보 L_holders = [len(n)//2-1 for n ..
백준 1434 : 책 정리(그리디)* www.acmicpc.net/problem/1434 1434번: 책 정리 첫째 줄에 박스의 개수 N, 책의 개수 M이 주어진다. 둘째 줄에는 박스의 용량 A1, A2, ..., AN이 주어지고, 셋째 줄에는 B1, B2, ..., BM이 주어진다. www.acmicpc.net 문제 요약: 빈 박스 N개, 넣어야 하는 책 M개. (둘다 번호 매겨져 있음) 다음 순서로 책을 박스에 넣는다. 1번 박스 앞에 1번 책을 들고 있음. (## 1. 현재 책이 현재 박스에 들어가지 않으면 --> 3번 스텝 or 2번 스텝 으로 이해를 했는데... ##3번으로 가란 말이 3번 박스가X, 3번 순서O ) Step 1. 현재 책이 현재 박스에 들어가는 지 판단. --> 현재 책이 현재 박스에 들어가면 Step2로 --> ..
백준 11034 : 캥거루 세마리2(그리디) ** www.acmicpc.net/problem/11034 11034번: 캥거루 세마리2 여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100) www.acmicpc.net 수직선, 캥거루 세마리, 바깥 쪽 중 한마리가 두 마리 사이의 정수로 캥거루가 움직일 수 있는 최대? 문제 풀이: 캥거루 세 마리의 좌표를 x,y,z라 하자. 좌표 y에 있는 캥거루는 움직이지 못한다. x-y 와 y-z 중 더 거리가 먼 거리를 찾은 것보다 1 적게 이동할 수 있다. if __name__=='__main__': while True: try: coords = sorted(list(map(int,input().split()))) d = max(coor..
백준 2720 : 세탁소 사장 동혁 (그리디) ** www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 거스름돈 문제 거스름돈 = 5달러 이하 쿼터(0.25$), 다임(0.1$), 니켈(0.05$), 페니(0.01$) 손님이 받는 동전의 갯수를 최소로! Input : # of test case = T # 거스름 돈 ( T번 ) Output : # of 쿼터, # of 다임, # of 니켈, # of 페니 ( Q, D, N, P) 풀이: 0.25*Q + 0.1*D + 0.05*N + 0.01*P = 거스름돈, 단, Q+D+N+P = 최소 금액이 큰 순으로 나눠주면 된다. def sol..
백준 3004 : 체스판 조각 www.acmicpc.net/problem/3004 3004번: 체스판 조각 상근이는 3003번에서 동혁이가 발견한 체스판을 톱으로 자르려고 한다. 상근이는 체스판을 최대 N번 자를 수 있으며, 변에 평행하게만 자를 수 있다. 또, 자를 때는 체스판의 그 변의 한쪽 끝에서 www.acmicpc.net if __name__=='__main__': N = int(input()) if N==0: ans = 1 elif N%2 == 0 : ans=(N//2+1)**2 else : ans = (N//2+1)*(N//2+2) print(ans) N=0일 때가 코너 케이스이다. 평행하게 자른다고 하였으니, 최대의 조각을 내려면 매번 그 전 방향의 수직으로 잘라야만 한다. 증명: 컷팅 N번 중, 세로에 평행하게 n번,..
Word cloud 원하는 색으로 꾸미기 (word cloud customize color) 분석대회를 끝내고, 발표자료를 준비하는데 워드클라우드로 시각화를 한 이미지가 생각보다 안 예쁘더랍니다. ppt 테마 색 같은 걸 정해놓은 경우엔 미적 감각이 없는 제가 봐도, 이런 부조화가 없더라구요.. 그래서 온갖 방법을 찾아봐서! 색을 비교적 원하는 색으로 지정할 수 있는 방법을 알아봤습니다. 우선, wordcloud가 깔려있지 않다면 설치해주고, 불러옵시다. 단어조합은 추후 포스트하겠습니다. pip install wordcloud from wordcloud import WordCloud, STOPWORDS 1. Background Color 변경 white_wordcloud = WordCloud(font_path ="AppleGothic", width=480, height=480, backgroun..
백준 5543 : 상근날드 www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가 www.acmicpc.net 문제 요약: 버거 세 종류의 가격과, 음료 두 종류의 가격이 주어짐. 버거1+음료1 구매시 세트 할인 적용, 가격의 합계에서 50원 할인해줌. 가장 싼 세트 메뉴의 가격은? --> 버거 중 최솟값과 음료 중 최솟값을 더하면 됨. if __name__=='__main__': prices = [] for i in range(5): prices.append(int(input())) burger = min(prices[:3]..
백준 5532 : 방학 숙제 www.acmicpc.net/problem/5532 5532번: 방학 숙제 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 방학 L일 풀어야 하는 양: [ A, B ] 국어 A페이지, 수학 B페이지 하루에 풀 수 있는 양 : [C, D] 국어, 수학 놀 수 있는 최대 일수는? if __name__=='__main__': lst = [] for i in range(5): lst.append(int(input())) L,A,B,C,D = lst ans_K = A//C # 국어숙제 하는 데 필요한 일수..