본문 바로가기
반응형

분류 전체보기172

[백준/BOJ] 11047번 - 동전 0 (C++) 문제 링크 코딩하기 전 생각하기 /* n과 k, 동전 벡터를 입력받는다. k가 0이 될 때 까지 다음을 반복한다. 동전 벡터의 뒤에서 부터 시작하여서 동전이 k보다 작거나 같으면 그 동전을 쓰고 count에 1을 더해준다. count를 출력한다. */ 코드 #include #include using namespace std; int main() { int n, k, a; cin >> n >> k; int count = 0; vector v; for ( int i = 0; i > a; v.push_back(a); } while ( k > 0 ) { for ( int i = v.size() - 1; i >= 0; i-- ) { if ( v[i] 2021. 7. 20.
[백준/BOJ] 1181번 - 단어 정렬 (C++) 문제 링크 코딩하기 전 생각하기 /* 중복을 허용하지 않고 정렬하면서 값을 추가할 수 있는 set을 선언하자. n만큼 단어를 입력받고 set에 추가한다. set을 출력한다. */ 코드 #include #include using namespace std; bool comp(string a, string b) { if ( a.length() != b.length() ) return a.length() > n; set dict(comp); string s; for ( int i = 0; i > s; dict.insert(s); } for ( auto i : dict ) cout 2021. 7. 20.
[백준/BOJ] 3040번 - 백설 공주와 일곱 난쟁이 (C++) 문제 링크 코딩하기 전 생각하기 /* 9개의 정수를 입력받는다. 2중배열을 이용해서 숫자 두개를 뺐을 때 합이 100이 되는 경우의 수를 찾는다. */ 코드 #include #include using namespace std; int main() { int a[9]; for ( int i = 0; i > a[i]; for ( int i = 0; i < 9; i++ ) { for ( int j = 0; j < 9; j++ ) { if ( i == j ) continue; int sum = 0; for ( int k = 0; k < 9; k++ ) { if ( k == i || k == j ) continue; sum += a[k]; } if ( sum == 100 ) { for.. 2021. 7. 18.
[백준/BOJ] 15552번 - 빠른 A+B (C++) 문제 링크 코딩하기 전 생각하기 /* ios::sync_with_stdio(0)과 cin.tie(0)을 적용해준다. t을 입력받고 t만큼 반복한다. a, b를 입력받고 a + b를 출력한다. */ 코드 #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int t, a, b; cin >> t; for ( int i = 0; i > a >> b; cout 2021. 7. 17.
[백준/BOJ] 1920번 - 수 찾기 (C++) 문제 링크 코딩하기 전 생각하기 /* unordered_set을 선언한다. n을 입력받고 n만큼 반복한다. 정수를 입력받고 set에 저장한다. m을 입력받고 m만큼 반복한다. 정수를 입력받고 그 수가 set에 있는지 확인한다. set에 있으면 1을 출력하고 없으면 0을 출력한다. */ 코드 #include #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); unordered_set s; int n, m, a; cin >> n; for ( int i = 0; i > a; s.insert(a); } cin >> m; for ( int i = 0; i < m; i++ ) .. 2021. 7. 17.
[백준/BOJ] 2839번 - 설탕 배달 (C++) 문제 링크 코딩하기 전 생각하기 /* n을 입력받는다. n이 0이 될 때 까지 다음을 반복한다. n이 5로는 안나눠지는데 3으로는 나눠지면 3kg봉지를 하나 쓴다. 위의 경우가 아니면 5kg봉지를 하나 쓴다. 위의 경우가 아닌데 n이 5보다 작으면 -1을 출력하고 종료한다. 봉지의 개수를 출력한다. */ 코드 #include #include using namespace std; int main() { int n, count = 0; cin >> n; while ( n > 0 ) { if ( n % 5 != 0 && n % 3 == 0 ) { n -= 3; count++; } else if ( n >= 5 ) { n -= 5; count++; } else { cout 2021. 7. 17.
[백준/BOJ] 11478번 - 서로 다른 부분 문자열의 개수 (C++) 문제 링크 코딩하기 전 생각하기 /* unordered_set으로 사전을 만들어보자. 2중 반복문과 substr 메서드를 이용해서 만들어지는 부분 문자열을 모두 구한다. 부분 문자열을 사전에 추가한다. 사전의 크기를 출력한다. */ 코드 #include #include #include using namespace std; int main() { unordered_set dict; string s; cin >> s; int len = s.length(); for ( int i = 0; i < len; i++ ) { for ( int j = 1; j < len - i + 1; j++ ) dict.insert(s.substr(i, j)); } cout 2021. 7. 17.
[백준/BOJ] 11004번 - K번째 수 (C++) 문제 링크 코딩하기 전 생각하기 /* sort 함수를 쓰면 시간 초과가 난다. 우선순위 큐 쓰는 법을 배워서 써보자. 숫자를 입력받아 priority_queue에 저장하자. pq의 k번 째 수를 출력한다. */ 코드 #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n, k, a; cin >> n >> k; priority_queue pq; for ( int i = 0; i > a; pq.push(a); } for ( int i = 0; i < k - 1; i++ ) pq.pop(); cout 2021. 7. 16.
[백준/BOJ] 11650번 - 좌표 정렬하기 (C++) 문제 링크 코딩하기 전 생각하기 /* x값과 y값을 pair로 묶어서 벡터에 저장한다. comp 함수를 선언한다. x값을 오름차순으로 정렬한다. x값이 같을 때는 y값을 오름차순으로 정렬한다. 벡터를 정렬하고 출력한다. */ 코드 #include #include using namespace std; bool comp(pair a, pair b) { if ( a.first != b.first ) return a.first > n; int x, y; vector v; for ( int i = 0; i > x >> y; v.push_back(pair(x, y).. 2021. 7. 16.
[백준/BOJ] 1427번 - 소트인사이드 (C++) 문제 링크 코딩하기 전 생각하기 /* 문자열을 입력받고 문자로 나눠서 새로운 벡터에 저장한다. 벡터를 정렬하고 출력한다. */ 코드 #include #include using namespace std; bool comp(char a, char b) { return a > b; } int main() { string s; cin >> s; vector v; for ( auto c : s ) v.push_back(c); sort(v.begin(), v.end(), comp); for ( auto c : v ) cout 2021. 7. 16.
반응형