본문 바로가기

알고리즘

(158)
프로그래머스) 푸드 파이트 대회 -python https://school.programmers.co.kr/learn/courses/30/lessons/134240\ 문제는 간단하다. 준비된 음식의 갯수가 담긴 리스트 food가 주어지고(0번째는 물) 각 음식은 공평하게 둘로 나뉘어 진다. def solution(food): answer = '' water = [0] second = [] first = [] food.pop(0) for i in range(1,len(food)+1): a = food[i-1] // 2 for j in range(1,a+1): first.append(i) second.insert(0,i) answer = first + water + second return ''.join(str(s) for s in answer)
프로그래머스) 명예의 전당(1) - python https://school.programmers.co.kr/learn/courses/30/lessons/138477 문제가 좀 긴데, 요약하자면 len(score)의 수 만큼 가수가 존재하고, 각 가수는 해당되는데 index+1 날짜에 공연을 하게되어 관객들로부터 점수를 얻게된다. 그 점수는 명예의 전당의 최소 수와 비교되어 만일 해당 날짜에 공연한 가수의 점수가 더 크다면, 당일날 공연한 가수의 점수는 명예의 전당에 오르게 된다. 즉, k = 2, score=[1,2,3,4]라고 했을 때, score의 index로 말하자면 0번째 날 --> 명예의 전당에 아무도 등록되지 않았으므로 명예의 전당에 1이 올라간다 1번째 날 --> 아직 명예의 전당에 k수 만큼 등록된 점수가 없으므로 2가 등록된다 2번째 ..
프로그래머스)과일장수 -python https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 자체는 그리 어렵지 않았다. 단지 주어진 변수 개수가 많아서 헷갈렸기에 다른 lv.1 문제들보다 시간이 좀 더 걸렸다. def solution(k, m, score): answer = 0 score.sort(reverse=True) arr = [] for i in range(0,len(score),m): a = score[i:i+m] if len(a) == m: answer += mi..
프로그래머스) 크기가 작은 부분문자열 -python https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 def solution(t, p): answer = 0 leng = len(p) p = int(p) for i in range(0,len(t) -leng+1, +1): a = t[i:i + leng] a = int(a) if a
백준 7568)덩치 -python https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 설명은 길었지만 짧게 요약하자면, A 의[몸무게,키] B 의[몸무게,키] A의 몸무게와 키 둘 모두가 B의 그것와 크다면 A는 B보다 덩치가 크다 할 수 있다. 만일 둘 중 하나라도 작으면 A는 B보다 덩치가 크다고 할 수 없다. 핵심은 "A의 몸무게와 키 둘 모두가 B의 그것와 크다면 A는 B보다 덩치가 크다 할 수 있다" 이 문항이다. 즉 등수가 올라가는 경우는 몸무게와 키 모두가..
프로그래머스 피로도 - python 알고리즘은 여태 찍먹하면서 공부했지만 각잡고 공부를 시작한지는 이제 막 하루다. 각설하고, 이번 알고리즘 문제는 프로그래머스의 완전탐색 문제다. https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 문제를 접했을 때, 최소피로도 - 소모피로도를 기준으로 정렬하여 풀면 된다고 생각했다. def solution(k, dungeons): answer = 0 for i in range(len(dungeons)): a = dungeons[i][0] - ..