Computer (120) 썸네일형 리스트형 [Baekjoon] 백준 13164 '행복유치원' 문제풀이 파이썬, Python, 알고리즘 정리 📝 13164 문제 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 인접해 있어야 한다. 조별로 인원수가 같을 필요는 없다. 이렇게 나뉘어진 조들은 각자 단체 티셔츠를 맞추려고 한다. 조마다 티셔츠를 맞추는 비용은 조에서 가장 키가 큰 원생과 가장 키가 작은 원생의 키 차이만큼 든다. 최대한 비용을 아끼고 싶어 하는 태양이는 K개의 조에 대해 티셔츠 만드는 비용의 합을 최소로 하고 싶어한다. 태양이를 도와 최소의 비용을 구하자. 입력 입력의 첫 줄에는 유치원에 있는 원생의 수를 나타내는 자연수 N(1 ≤ N ≤ 300,000)과 나누려고 하는 조의 개수를 나타.. [구름톤 챌린지 - 9oormthon Challenge] Day 5 이진수 정렬 구름톤 챌린지 5일차 - 이진수 정렬 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 10진수를 2진수로 변환하는 방법은 bin()을 사용한다. 반대로 2진수를 10진수로 변환하려면 int()를 사용한다. 먼저, numlist안에 있는 10진수들을 2진수로 변환하고, 여기서 1의 개수를 세기 위해 bin()과 count를 사용했다. 1의 개수가 같을 경우도 따져야 하기 때문에, bin_num에는 1의 개수와 10진수를 같이 추가해줬다. 내림차순으로 정렬을 하면서 K번째 10진수를 찾기 위해 index K-1의 1에서 출력을했다. #10진수를 2진수로 변경 -> bin() 사용 #1의 개수 : count() N, K = map(int, input().split()) numlist = list(map(int, inp.. [구름톤 챌린지 - 9oormthon Challenge] Day 4 완벽한 햄버거 구름톤 챌린지 4일차 - 완벽한 햄버거 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 제일 큰 수를 기준으로 왼쪽으로 내림차순, 오른쪽으로 내림차순이여야 완벽한 햄버거가 된다. 만약 어느 한 쪽으로라도 내림차순이 되지 않는다면 0을 반환하도록 하였다. 내가 찾은 방법은, 맛의 정도 입력 list에서 최대값 max_flavor를 찾고, 최대값이 있는 index를 찾아 max_idx로 했다. 그리고 max_idx를 기준으로 오른쪽과 왼쪽을 나눠 내림차순을 따지도록 하였다. N = int(input()) burger= list(map(int, input().split())) res = sum(burger) max_flavor = max(burger) max_idx = burger.index(max_flavor) fo.. [Baekjoon] 백준 13305 '주유소' 문제풀이 파이썬, Python, 알고리즘 정리 📝 13305 문제 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. 도로를 이용하여 이동할 때 1km마다 1리터의 기름을 사용한다. 각 도시에는 단 하나의 주유소가 있으며, 도시 마다 주유소의 리터당 가격은 다를 수 있다. 가격의 단위는 원을 사용한다. 예를 들어, 이 나라에 다음 그림처럼 4개의 도시가 있다고 하자. 원 안.. [구름톤 챌린지 - 9oormthon Challenge] Day 3 합 계산기 구름톤 챌린지 3일차 - 합 계산기 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 T를 먼저 입력 받고, 숫자들과 연산자를 문자로 입력받는다. if문을 사용해 연산자의 경우를 따져 정수형으로 변환한 숫자를 연산한다. 연산값을 res에 담고, total에 더한다. T = int(input()) total = 0 for i in range(T) : num1, op, num2 = input().split() if op == '+' : res = int(num1) + int(num2) elif op == '-' : res = int(num1) - int(num2) elif op == '/' : res = int(num1) // int(num2) elif op == '*' : res = int(num1) * int(nu.. [Baekjoon] 백준 2667 '단지 번호 붙이기' 문제풀이 파이썬, Python, 알고리즘 정리 📝 2667 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오... 이전 1 ··· 7 8 9 10 11 12 13 ··· 20 다음