그리디알고리즘 15

[BOJ/Silver 1] 백준 25918 북극곰은 괄호를 찢어(C++)

문제 링크 https://www.acmicpc.net/problem/25918 25918번: 북극곰은 괄호를 찢어 극지 연구소에서 연구 중인 협이는 새로운 북극곰의 특성을 발견했다. 그것은 바로 북극곰이 $O$와 $X$를 보면 $()$와 $)($로 찢어버린다는 것이다. 협이는 이러한 북극곰의 특성을 이용하여 길이 $N www.acmicpc.net 문제 극지 연구소에서 연구 중인 협이는 새로운 북극곰의 특성을 발견했다. 그것은 바로 북극곰이 O와 X를 보면 ()와 )(로 찢어버린다는 것이다. 협이는 이러한 북극곰의 특성을 이용하여 길이 N의 괄호 문자열 S를 만들고자 한다. 북극곰은 낮에 활동을 하기 때문에 낮에 돌아다니는 것은 위험하다. 때문에 협이는 매일 밤마다 활동할 수 있다. 밤에 협이는 문자열이 ..

BOJ/Silver 2024.02.27

[BOJ/Silver 1] 백준 25215 타이핑(C++)

문제 링크 https://www.acmicpc.net/problem/25215 25215번: 타이핑 민겸이는 영어 소문자와 대문자로 이루어진 문자열을 타이핑하기로 했다. 민겸이가 사용할 수 있는 버튼은 26개의 영어 알파벳 버튼과 마름모(◆) 버튼, 별(★) 버튼이다. 각 버튼은 아래와 같이 www.acmicpc.net 문제 민겸이는 영어 소문자와 대문자로 이루어진 문자열을 타이핑하기로 했다. 민겸이가 사용할 수 있는 버튼은 26개의 영어 알파벳 버튼과 마름모(◆) 버튼, 별(★) 버튼이다. 각 버튼은 아래와 같이 작동한다. 알파벳 버튼을 누르면 소문자 또는 대문자 중 하나가 입력된다. 이때, 마름모 버튼이 활성화되어있다면 대문자, 아니라면 소문자가 입력된다. 마름모 버튼은 처음에 비활성화되어있다. 마름..

BOJ/Silver 2024.02.21

[BOJ/Silver 1] 백준 25947 선물할인(C++)

문제 링크 https://www.acmicpc.net/problem/25947 25947번: 선물할인 입력은 표준입력을 사용한다. 첫 번째 줄에 선물의 개수를 나타내는 양의 정수 $n$ ($1 ≤ n ≤ 100\,000$), 예산을 나타내는 양의 정수 $b$ ($1 ≤ b ≤ 10^9$), 반값 할인을 받을 수 있는 최대 선물의 수를 www.acmicpc.net 문제 n개의 선물 가격이 주어졌을 때, b의 예산으로 최대로 많은 선물을 사려고 한다. 이때 최대 a개의 선물에 대해서는 반값 할인을 받을 수 있다고 했을 때 최대로 살 수 있는 선물의 수를 구하는 프로그램을 작성하시오. 단, 한 선물에는 최대 한 번만 반값 할인을 받을 수 있다. 입력 입력은 표준입력을 사용한다. 첫 번째 줄에 선물의 개수를 나..

BOJ/Silver 2024.02.20

[BOJ/Silver 1] 백준 26091 현대모비스 소프트웨어 아카데미(C++)

문제 링크 https://www.acmicpc.net/problem/26091 26091번: 현대모비스 소프트웨어 아카데미 첫째 줄에 견학을 희망하는 학회원의 수 $N$과 견학하는 팀의 최소 능력치를 나타내는 정수 $M$이 공백으로 구분되어 주어진다. ($1 \le N \le 100\,000$, $1 \le M \le 10^9$) 둘째 줄에 학회원 $N$명의 능력치 www.acmicpc.net 문제 현대모비스는 글로벌 자동차 부품 기업으로 자율주행, 커넥티비티, 전동화 분야에 역량을 집중해 스마트 모빌리티 시대를 선도하고 있는 기업입니다. 현대모비스는 소프트웨어 생태계 조성을 위해 소프트웨어 아카데미를 운영하고 있으며, 내부적으로는 연구원들의 소프트웨어 직무교육 이수를 통해 우수인재를 육성하고, 대외적으..

BOJ/Silver 2024.02.19

[BOJ/Silver 2] 백준 16112 5차 전직(C++)

문제 링크 https://www.acmicpc.net/problem/16112 16112번: 5차 전직 메이플스토리 뉴비 키파가 드디어 레벨 200을 달성하고 5차 전직이라는 시스템을 이용해 캐릭터를 더욱 강력하게 만들려고 합니다. 5차 전직을 하려면 먼저 퀘스트를 통해 아케인스톤이라는 아 www.acmicpc.net 문제 메이플스토리 뉴비 키파가 드디어 레벨 200을 달성하고 5차 전직이라는 시스템을 이용해 캐릭터를 더욱 강력하게 만들려고 합니다. 5차 전직을 하려면 먼저 퀘스트를 통해 아케인스톤이라는 아이템을 받아야 합니다. 아케인스톤을 활성화시키면 캐릭터가 얻는 경험치를 아케인스톤에 모을 수 있습니다. 5차 전직을 하기 위해서는 총 n개의 퀘스트를 진행해서 n개의 아케인스톤을 받아야 하며, 각각의 ..

BOJ/Silver 2024.02.17

[BOJ/Silver 2] 백준 20413 MVP 다이아몬드 (Easy)(C++)

문제 링크 https://www.acmicpc.net/problem/20413 20413번: MVP 다이아몬드 (Easy) 입력된 MVP 등급을 달성하기 위한 최대 누적 과금액을 만원 단위로 출력한다. www.acmicpc.net 문제 입력 제한 외 난이도에 따른 문제의 차이는 없다. 상민이는 게임 단풍잎이야기에 과금을 즐겨 한다. 단풍잎이야기에는 과금액에 따라 혜택을 제공하는 'MVP 등급'이 존재한다. MVP 등급은 브론즈(B), 실버(S), 골드(G), 플래티넘(P), 다이아몬드(D)로 총 다섯 등급이 있으며, 현재 달과 지난달, 즉 현재 달을 포함한 최근 2개월간의 과금액으로 결정된다. 단, 단풍잎이야기에는 과도한 과금을 막기 위해 '최대 과금 한도'가 있어 한 달에 최대 다이아몬드 등급 기준액 ..

BOJ/Silver 2024.02.17

[BOJ/Silver 2] 백준 30022 행사 준비(C++)

문제 링크 https://www.acmicpc.net/problem/30022 30022번: 행사 준비 첫째 줄에 정수 $N(2\le N\le 100,000)$과 정수 $A,B(1\le A,B\leq N;A+B=N)$가 공백으로 구분되어 주어진다. 둘째 줄부터 $N$개의 줄에 정수 $p_i,q_i(1\le p_i,q_i\le 10^9)$가 공백으로 구분되어 주어진다. $p_i,q_i$는 www.acmicpc.net 문제 동하와 지원이는 ANA 행사를 준비하고 있다. 행사를 위해 N종류의 물건이 한 개씩 필요하기 때문에 동하가 A개를, 지원이가 B개를 나눠서 준비하기로 했다. 근처에 있는 상점 1, 2에서 N종류의 물건을 모두 판매하고 있다. 같은 물건이라도 상점에서 판매하는 가격이 다를 수 있기 때문에 ..

BOJ/Silver 2024.02.15

[BOJ/Silver 3] 백준 30701 돌아온 똥게임(C++)

문제 링크 https://www.acmicpc.net/problem/30701 30701번: 돌아온 똥게임 첫 번째 줄에는 방의 수 $N$과 근호의 시작 전투력 $D$가 공백으로 구분되어 정수로 주어진다. ($1\leq N\leq 100\,000;$ $1\leq D\leq 10^9$) 다음 $N$개 줄에는 한 줄에 하나씩 방의 정보 $A_i,X_i$가 공백으로 구 www.acmicpc.net 문제 유튜브에서 똥게임 광고를 지나치게 많이 본 근호는 본인이 직접 똥게임을 설치해서 하기로 했다. 처음에 근호는 D의 전투력을 가지고 시작한다. 근호 앞에는 N개의 방이 있는데, 각 방에는 몬스터 또는 장비가 있으며 i(1 ≤ i ≤ N)번째 방에 있는 몬스터 또는 장비는 전투력 Xi를 가진다. 근호는 매번 아직 ..

BOJ/Silver 2024.02.14

[BOJ/Silver 5] 백준 25496 장신구 명장 임스(C++)

문제 링크 https://www.acmicpc.net/problem/25496 25496번: 장신구 명장 임스 첫 번째 줄에 정수 $P$와 정수 $N$이 공백으로 구분되어 주어진다. ($1 \le P \le 200$, $1 \le N \le 1\,000$) 두 번째 줄에는 정수 $A_1, A_2, \dots, A_N$이 공백으로 구분되어 주어진다. ($1 \le A_i \le 200$) www.acmicpc.net 문제 메이플스토리에는 전문 기술이라는 제작 시스템이 있다. 전문 기술은 특정량의 피로도가 쌓이는 대신 다양한 장비 및 비약을 제작할 수 있는 시스템이다. 장신구 명장인 임스는 어떻게 하면 더 효율적으로 많은 장신구를 제작할 수 있을지 고민에 빠졌다. 임스가 만들 수 있는 장신구는 N개가 있고,..

BOJ/Silver 2024.02.13

[BOJ/Silver 5] 백준 25644 최대 상승(C++)

문제 링크 https://www.acmicpc.net/problem/25644 25644번: 최대 상승 미래를 예측하는 능력이 있는 정균이는 앞으로 $N$일간 ANA 회사의 주가가 어떻게 변하는지 정확히 예측할 수 있다. 정균이는 예측한 결과를 바탕으로 ANA 회사의 주식 한 주를 적당한 시점에 사고 www.acmicpc.net 문제 미래를 예측하는 능력이 있는 정균이는 앞으로 N일간 ANA 회사의 주가가 어떻게 변하는지 정확히 예측할 수 있다. 정균이는 예측한 결과를 바탕으로 ANA 회사의 주식 한 주를 적당한 시점에 사고 적당한 시점에 팔아서 최대한의 이득을 얻으려고 한다. ANA 회사의 앞으로 N일간의 주가를 a1, a2, ..., aN이라고 하자. 정균이가 i번째 날에 주식을 사고, j번째 날에 ..

BOJ/Silver 2024.02.13

[BOJ/Gold 5] 백준 27896 특별한 서빙(C++)

문제 링크 https://www.acmicpc.net/problem/27896 27896번: 특별한 서빙 첫 번째 줄에 학생들이 가지 운동을 일으키지 않게 하기 위한 가지의 최소 개수를 출력한다. www.acmicpc.net 문제 ???: 가지라니, 비슷하지도 않잖아요... NLCS Jeju에서는 파묻튀(파마산을 묻혀 튀긴 소고기)를 서빙하는 것을 좋아한다. 그러나, 학생들은 파묻튀보다는 신선한 가지를 먹고 싶어한다! 급식실에 N명의 학생들이 차례로 서 있다. 줄의 앞에서부터 i번째 학생이 가지 대신 파묻튀를 받았을 경우 xi만큼 불만도가 늘어나고, 가지를 받았을 경우에는 xi만큼 불만도가 내려간다. 단, 불만도의 초깃값은 0이다. 음식을 앞에 서있는 학생부터 순서대로 서빙할 때, 어떤 한 순간이라도 불..

BOJ/Gold 2023.08.07

[BOJ/Silver 4] 백준 27919 UDPC 파티(C++)

문제 링크 https://www.acmicpc.net/problem/27919 27919번: UDPC 파티 첫 번째 줄에 참가자가 투표한 결과 $V$가 주어진다. $V$는 U, D, P, C만 포함하는 문자열이고, 길이는 $0$보다 크고 $100\ 000$을 넘지 않는다. www.acmicpc.net 문제 윤이, 포닉스, 달구는 UDPC가 열리는 것을 기념해 한 장소에 모여 파티를 열기로 했다! 수많은 참가자와 함께 즐거운 시간을 보내던 중, 참가자들이 세 마스코트 중 누가 제일 귀여운지 토론하기 시작했다. 야, 아무리 봐도 우리 윤이가 제일 귀엽지. 앙증맞은 뿔과 매력적인 갈기 좀 봐! 그렇게 치면 우리 포닉스의 갈기는! 귀여운 날개랑 꼬리도 가지고 있지~ 어차피 우리 달구가 제일 귀엽죠? 이목구비는 ..

BOJ/Silver 2023.07.03

[BOJ/Silver 5] 백준 28136 원, 탁!(C++)

문제 링크 https://www.acmicpc.net/problem/28136 28136번: 원, 탁! 최소 몇 번의 원, 탁!이 필요한지 출력한다. www.acmicpc.net 문제 현빈이는 수열을 좋아한다. 그중에서도 오름차순으로 정렬된 수열이라면 단연코 환장한다. 선우는 수열과 수학을 사랑하는 현빈이를 골탕 먹이고자 현빈이에게 숫자가 적힌 접시가 원형으로 놓여있는 원탁을 내밀었다. 각 접시에는 시계방향으로 1부터 N까지 번호가 붙어있고, i번 접시에는 ai가 적혀있다. N번 접시 다음에는 1번 접시가 등장함에 유의하자. 현빈이는 수열을 시계방향으로 읽고 있고, 원탁의 특성상 접시에 적혀있는 숫자를 시계방향으로 읽다 보면 숫자가 순환되기 때문에, 현빈이는 정렬된 상태를 볼 수 없다. 이에 현빈이는 ..

BOJ/Silver 2023.05.30

[BOJ/Gold 4] 백준 1464 뒤집기 3(C++)

문제 링크 https://www.acmicpc.net/problem/1464 1464번: 뒤집기 3 세준이는 어떤 문자열 S를 뒤집으려고 한다. 문자열을 뒤집는 방법은 문자열의 길이를 N이라고 하자. i만큼을 뒤집는다는 소리는 그 문자열의 처음부터 정확하게 i개의 문자를 역순으로 뒤집는 www.acmicpc.net 문제 세준이는 어떤 문자열 S를 뒤집으려고 한다. 문자열을 뒤집는 방법은 문자열의 길이를 N이라고 하자. i만큼을 뒤집는다는 소리는 그 문자열의 처음부터 정확하게 i개의 문자를 역순으로 뒤집는 것이다. 세준이는 1부터 N까지 수를 차례대로 생각한다. 그리고, 뒤집을지 안 뒤집을지 선택할 수 있다. 예를 들어, S="BCDAF" 이고, 세준이가 길이 1만큼을 뒤집지 않고, 길이 2만큼도 뒤집지 ..

BOJ/Gold 2023.05.09

[BOJ/Platinum 5] 백준 19541 역학 조사(C++)

문제 링크 https://www.acmicpc.net/problem/19541 19541번: 역학 조사 2020년, 신종 전염병이 유행하여 UCPC국 질병관리본부에서 역학 조사를 하고 있다. UCPC국의 인구는 총 $N$명이며 각각 $1$, $2$, $\cdots$, $N$번의 주민번호가 붙어있다. 질병관리본부는 지금까지 $M$개의 www.acmicpc.net 문제 2020년, 신종 전염병이 유행하여 UCPC국 질병관리본부에서 역학 조사를 하고 있다. UCPC국의 인구는 총 N명이며 각각 1, 2, ... ,N번의 주민번호가 붙어있다. 질병관리본부는 지금까지 M개의 모임이 있었다는 사실을 파악했다. 각 모임은 k명이 참여했고 해당 모임은 주민번호가 a1, a2, ..., ak인 사람들이 참여했다. 전염병..