https://www.acmicpc.net/problem/16499 16499번: 동일한 단어 그룹화하기 첫째 줄에 단어의 개수 N이 주어진다. (2 ≤ N ≤ 100) 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 10을 넘지 않는다. www.acmicpc.net 같은 문자들로 이루어진 단어끼리 짝을 지어 몇개의 그룹으로 나뉘는지 알아내는 문제 ex) dog == god == gdo == dgo == odg ⋯ -> 같은 그룹 문자열을 입력받아 사전순으로 정렬한 후 set에 넣어서 같은 문자열들은 하나의 그룹으로 취급해준다. (abcd, dbca, dcab -> sort를 사용하면 모두 abcd로 정렬됨) 전체 코드 #include using..

https://www.acmicpc.net/problem/25635 25635번: 자유 이용권 자유 이용권은 놀이공원의 모든 놀이기구를 횟수의 제한 없이 마음껏 이용할 수 있는 이용권이다. 준원이는 ANA 놀이공원의 자유 이용권을 구매했고, 최대한 많이 놀이기구를 이용할 생각이다. www.acmicpc.net N개의 놀이기구가 있다. 각각의 놀이기구에는 이용 가능 횟수가 적혀있고 자유이용권을 가지고 최대한 많은 놀이기구를 이용하고 싶다. 단, 각각의 놀이기구는 연속으로 이용할 수 없다. N개의 놀이기구를 모두 이용하는 조건은 (이용 가능 횟수가 가장 많은 놀이기구 -1)이 나머지 놀이기구의 이용횟수들 보다 작거나 같아야 한다. 즉, (나머지 횟수) >= (제일 횟수가 많은 기구 -1)이 되어야 이용 횟수..
https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 문자열 S를 받아 해당 문자열에서 N개의 문자를 추가하여 팰린드롬을 만드는 문제이다. 단, S의 길이는 최소로 해야한다. 우선 임의의 문자열에서 팰린드롬을 만들 수 있는 방법은 무엇이 있을까? abab : a만 추가하면 된다. abbb : a만 추가하면 된다. aabb : a를 2개 추가해야한다. abba : 그 자체로 팰린드롬 팰린드롬을 만드는 규칙이 있을까? 길이를 반으로 나누어 문자를 추가하고 합..
https://www.acmicpc.net/problem/18429 18429번: 근손실 웨이트 트레이닝을 좋아하는 어떤 대학원생은, 현재 3대 운동 중량 500의 괴력을 소유하고 있다. 다만, 하루가 지날 때마다 중량이 K만큼 감소한다. 예를 들어 K=4일 때, 3일이 지나면 중량이 488로 www.acmicpc.net 백준 백트래킹의 대표적인 문제인 "N과 M"이랑 비슷한 문제이다. 문제를 요약하자면 N일 동안 매일 다른 키트를 사용하여 운동하는데 하루에 근육이 K만큼 빠진다고 한다. 매일 매일 다른 키트를 사용하여 N일 동안 3대 500을 유지하는 문제이다. 단 하루라도 500 이하로 떨어지면 안되므로 Ni - K > 500 인 순열을 찾는 문제이다. For 문을 0 ~ N까지 돌리면서 만약 그 날..

https://www.acmicpc.net/problem/14655 14655번: 욱제는 도박쟁이야!! 첫째 줄에 동전의 수 N이 주어진다. (1 ≤ N ≤ 10,000) 둘째 줄에 욱제의 첫 번째 라운드의 N개 동전의 배열이 주어진다. 셋째 줄에 욱제의 두 번째 라운드의 N개 동전의 배열이 주어진다. 동전에 적 www.acmicpc.net 그리디 알고리즘 문제이다. 문제에서 이해가 잘 안되는 문장이 있는데 항상 연속한 3개의 동전만 뒤집는다고 해놓고 저게 뭔말인지........ 간단하게 말하면 3개의 인덱스를 동시에 뒤집는 것이 아니라 배열 맨 처음 or 마지막 2개씩 혹은 1개씩 뒤집는 행위가 가능하다는 것이다. 풀이는 두가지가 있는데 먼저 첫번째 풀이 첫 배열의 모든 원소는 +로 만들고, 두 번째 ..

https://www.acmicpc.net/problem/2134 2134번: 창고 이전 첫째 줄에 세 정수 n, m, k가 주어진다. 다음 줄에는 n개의 정수로 기존 창고의 각 층에 보관되어 있는 물품의 개수가 1층부터 n층의 순서로 한 줄에 하나씩 주어진다. 다음 m개의 줄에는 창고의 각 www.acmicpc.net - 생각한 내용 - 물건은 1회 이동당 1개씩만 챙겨서 새로운 창고로 이동함. 높은 층에 있는 물건을 옮길수록 Total Cost가 늘어남 -> 최대한 많은 물건을 옮기는 것이 목적 -> 새로운 창고의 1층부터 채우고, 기존 창고의 1층 물건부터 옮기면 최소 Cost로 작업 가능 인부의 수는 생각할 필요가 없음. -> 인부의 수는 결과에 영향을 주지 않음 (빨리 끝내거나 효율적으로 하는게..

https://www.acmicpc.net/problem/27496 27496번: 발머의 피크 이론 각 시간에 따른 혈중 알코올 농도는 {0.045, 0.089, 0.133, 0.131, 0.127}이다. 따라서 지금으로부터 2시간 후와 3시간 후, 총 두 시간 동안 혈중 알코올 농도를 유지할 수 있다. www.acmicpc.net 슬라이딩 윈도우 + 누적합 문제이다. 소수점이 나와서 더 까다로웠던 문제 시간 N과 알코올의 지속시간 L을 입력받고 매 시간마다 섭취하는 알코올의 양인 Ai를 입력받아 0.129 l; vector vc; int cnt = 0; int nowA = 0; for (int i = 0; i > c; vc.push_back(c); nowA +..