본문 바로가기

Algorithm/C++149

[백준 1181] 단어 정렬 1181번: 단어 정렬 (acmicpc.net) 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 배운것 벡터 중복제거 sort(v.begin(), v.end(), cmp); a.erase(unique(v.begin(), v.end()), v.end()); 정답 코드 using namespace std; bool cmp(string a, string b) { int alen = a.size(); int blen = b.size(); if (alen != blen)return alen < blen; r.. 2022. 9. 28.
[백준 15663] N과 M(9) 15663번: N과 M (9) (acmicpc.net) 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 배운것 이전 것과 비교해야되는데 마땅히 방법이 떠오르지 않는다면? 임시 변수를 만들 생각을 해보자~ 정답 코드 #include using namespace std; int n, m; int arr[10]; int num[10]; bool isused[10]; void func(int k) { // 현재 k개까지 수를 택했음. if (k == m) { for (int i = 0; i < m; ++i) { co.. 2022. 9. 28.
[백준 15657] N과 M (8) 15657번: N과 M (8) (acmicpc.net) 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 정답 풀이 #include using namespace std; int n, m; int a[10]; int t[10]; bool isused[10]; void func(int k, int st) { // 현재 k개까지 수를 택했음. if (k == m) { for (int i = 0; i m; for (int i = 0; i > a[i.. 2022. 9. 28.
[백준 9095] 1,2,3 더하기 9095번: 1, 2, 3 더하기 (acmicpc.net) 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 배운것 규칙 찾아 점화식으로 만들고 초깃값 잘 설정해주기 정답 코드 #include using namespace std; // d[i] = i를 1, 2, 3의 합으로 나타내는 방법의 수 int d[20]; int main(void){ ios::sync_with_stdio(0); cin.tie(0); d[1] = 1; d[2] = 2; d[3] = 4; for(int i = 4; i > t; while(.. 2022. 9. 28.
[백준 1463] 1로 만들기 1463번: 1로 만들기 (acmicpc.net) 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 배운 것 출처 : BaaaaaaaarkingDog | [실전 알고리즘] 0x10강 - 다이나믹 프로그래밍 (encrypted.gg) 정답 코드 #include using namespace std; int d[1000005]; int n; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; d[1] = 0; for(int i = 2; i 2022. 9. 28.
[백준 5648] 역원소 정렬 5648번: 역원소 정렬 (acmicpc.net) 5648번: 역원소 정렬 모든 원소가 양의 정수인 집합이 있을 때, 원소를 거꾸로 뒤집고 그 원소를 오름차순으로 정렬하는 프로그램을 작성하세요. 단, 원소를 뒤집었을 때 0이 앞에 선행되는 경우는 0을 생략해야합니 www.acmicpc.net 배운것 reverse 함수 reverse(st.begin(), st.end()); stoll() : string to longlong v.push_back(stoll(st)); 정답 풀이 // Authored by : std-freejia // Co-authored by : - // http://boj.kr/c56909c54c4f4e9fb2c987a6eb3b96ee #include using namespace std.. 2022. 9. 27.