# 그리디
[백준] 1700번 멀티탭 스케줄링 (파이썬)
문제링크 : https://www.acmicpc.net/problem/1700꼽아야할 제품이 이미 플러그에 꼽혀있으면 continue플러그에 빈공간이 있으면 무조건 꼽는다기존 플러그를 뽑아야 하는 상황에서 이후에 다시 꼽지 않는 플러그가 존재하면 그 플러그를

BaekJoon2437_저울
한참을 해맨 문제. 문제만 보고 간단할줄 알고 막 덤벼들었다가 시간을 많이 소비했다. 측정가능한 구간을 상정하는데 한참을 생각하다 잘 안되서 풀이를 찾아보고 너무도 명확한 풀이를 발견해 해당 블로그를 참조하면 될 듯 싶다.https://aerocode.net/

BaekJoon11000_강의실배정
파이썬의 heapq 라이브러리를 사용할 줄 안다면 쉽게 풀 수 있는 문제이다.heapq는 최소 힙 구조를 제공해주며 우선순위 큐라고 생각하면 된다.먼저 각 수업들의 시간을 입력받고 시작시간을 기준으로 정렬해준뒤 heapq에 넣어가며 끝나는 시간보다 먼저 수업이 시작되면

[백준] #2670 - 연속 부분 최대 곱
🔒문제 설명N개의 실수가 있을 때, 한 개 이상의 연속된 수들의 곱이 최대가 되는 부분을 찾아, 그 곱을 출력하는 프로그램을 작성하시오. 예를 들어 아래와 같이 8개의 양의 실수가 주어진다면,색칠된 부분의 곱이 최대가 되며, 그 값은 1.638이다.첫째 줄은 나열된

문제: 2331 반복수열
https://www.acmicpc.net/problem/2331이 문제는 주어진 대로 풀면돼서 문제 자체의 이해는 매우 쉬웠지만풀이방식이 익숙하지않은 나한테는 풀이방식을 보고도 이해하는데 시간이 오래걸렸다.처음 a를 리스트로 만들어 nums에 넣는 것과 fo

프로그래머스 광물 캐기 java
문제링크문제 조건을 읽어보면, 어차피 곡괭이 하나 들었으면 마인크래프트마냥 앞에꺼 다섯개 무조건 캐야한다.1-1 마인크래프트랑은 다르게 앞에 놓여진 블록들을 알때, 어떻게 캐야 제일 효율적으로 캘까?를 묻는것.minerals를 다섯개씩 묶자. 그러면 section들이

문제: 1931번 회의실 배정
https://www.acmicpc.net/problem/1931정렬만 잘 하면 간단하게 풀리는 문제였다. 처음엔이렇게 정렬하였더니 첫줄은 무시되고 두번째 줄만 적용된 정렬이 만들어졌다.그래서 한번에 정렬하는 방법을 찾아보니key에 튜플로 여러 인자를 주면 해

문제: 1541번 잃어버린 괄호
https://www.acmicpc.net/problem/1541풀이 방식은 먼저, '-'를 기준으로 나누어 값을 저장하고 '+'를 기준으로 나누어 값을 더 한뒤 arr리스트에 값을 저장한다.그리고 0번째 값은 +부터 시작이기 때문에 0번째 값을 기준으로 1부
[ 이코테 ] 볼링공 고르기 - 파이썬(Python)
문제 A와 B가 서로 무게가 다른 볼링공을 고른다. 볼링공의 개수 N개 공마다 무게가 적혀 있고, 1번부터 순서대로 부여 같은 무게의 공이 여러 개 있지만, 서로 다른 공으로 간주한다. 볼링공 무게는 1~M까지의 자연수 형태 입력 예시 > 1번) > 5 3 > 1 3

[BaekJoon] 2457 공주님의 정원 (Java)
https://www.acmicpc.net/problem/2457총 N개의 꽃이 있는데, 꽃은 모두 같은 해에 피어서 같은 해에 집니다.하나의 꽃은 피는 날과 지는 날이 정해져있는데, 지는 날에 해당하는 날부터 꽃을 볼 수 없다는 의미입니다.N개의 꽃들 중에서

그리디 (Greedy)
현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음. 핵심 : "가장 큰, 가장 작은"과 같은 키워드가 존재 ** 이 글은 책 '이것이 코딩테스트다' 를 공부하면서 문제 1 - 큰 수의 법칙 내 풀이
그리디 알고리즘 4: 1이 될 때까지
이번에 다루어볼 그리디 알고리즘의 문제는 2018 E 기업 알고리즘 대회에서 나온 문제이다. 당분간, 그리디의 유형에서 '구현' 알고리즘의 문제를 공부할 것으로 알고리즘 공부가 전체적으로 끝나면 다시 그리디 알고리즘으로 돌아와서 머리 쓰는 연습을 하도록 하겠다. 그럼

인프런 - 결혼식
처음엔 배열로 시간에 맞는 index에 값을 넣어줘서 그 중 가장 큰 값을 구하였다.아마 입력값이 많아지면 for문이 많이 사용되어 프로그램 실행시간이 길어졌을 것 이다.이전 그리디 문제와 비슷하게 정렬을 이용하는 문제였다. 조금 다른점은 시작시간과 끝난시간을 구분을

인프런 - 회의실 배정
그리디 알고리즘을 처음 접하면서 아직 문제를 어떻게 해결해야 할지 감이 오지 않는다.당장 최선의 선택을 통해 문제를 해결을 해야한다는 풀이법이 추상적인 느낌이였다.이 문제에서는 회의시간의 끝나는 시간을 기준으로 정렬을 하면 쉽게 풀이되었다.가장 빨리 시작하는 회의시간은
문제: 2885번 초콜릿 식사
https://www.acmicpc.net/problem/2885 Solution 배운점 6개를 상근이가 먹으려면 8개짜리의 초콜릿을 구매해야 하고, 8개는 (4, 4)로 쪼개지기 때문에 한번 더 쪼개서 (2, 2, 2, 2)로 나눠야 한다. 그럼 상근이가 6개를