백준 15686 C++ https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 이 문제는 개인적으로 조합을 만들 수 있다면 그렇게 어려운 문제는 아닌거 같다. #include #include #include using namespace std; int n, m; //int village[55][55]; vector chickenHouses; vector houses; vector selectedChickenHouses; int result = 50000.. 2024. 2. 15. 백준 17298 C++ https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 이 문제는 아이디어만 생각하면 굉장히 쉬운 문제가 된다. 처음에는 작은게 왼쪽, 큰게 오른쪽으로가는 이진 트리를 생각했다가 같은 값이 들어왔을 경우의 반례가 생겨서 계속 고민을 했다. 결국엔 Stack으로 풀면 된다. 비슷한 문제로는 균형잡힌 세상, 괄호가 있다. 처음부터 생각을 하진 못했다. 지금까지 Stack을 활용한 짝짓기 문제는 1:1로 대응됐기 때문이다. 하지만 이 문제부터 짝짓기는 1:1로 정의되.. 2024. 2. 14. 백준 1068 C++ 처음에는 다음과 같은 코드를 제출했다. 예시도 문제없이 통과하고 제출했을 때 %도 쭉쭉 오르다가 77%에서 틀렸다. #include #include using namespace std; int n; int removeNode; vector tree(51); int leafCount = 0; int root; int visited[51]; void dfs(int s) { if (visited[s] == 1) { return; } if (tree[s].size() == 0) { if (s == removeNode) return; leafCount++; return; } for (auto i : tree[s]) { dfs(i); } } int main() { cin >> n; for (int i = 0; i .. 2024. 2. 13. 백준 11047번 C++ #include using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; //n과 k입력 n은 동전의 종류, k라는 값을 만들어야함. int count=0; int next = n-1; int money[10] = {0, }; for(int i=0; i> money[i]; //0~n-1까지 입력받음. } while (k != 0) { if(k-money[next] < 0){ //초과해서 빼지면 continue함. next--; continue; } count += k/money[next]; k = k%money[next]; next--; } cout 2022. 9. 13. 백준 1676번 C++ https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 와.. 문제보고 재귀로 팩토리얼 다 만들고 10으로 나누니 시간 초과가 뜬다. 어떻게든 줄어보려고 재귀에 이상한 짓 다 했는데 계속 시간초과가 떠서 뭐가 문제인지 모르겠었다. 근데 2*5가 10이 되는 걸로 푼다는게 아닌가.. 배신감... 즉 팩토리얼에 5가 몇번 곱해지는지 보면 된다. 5가 나오면 count+1, 25면 count +2처럼... 계속 생각했는데 생각도 못한 방법이다. #include using namespace std; int main(){ int n; cin >>.. 2022. 9. 7. 백준 1463번 C++ https://assb.tistory.com/entry/%EB%B0%B1%EC%A4%80-1463%EB%B2%88-1%EB%A1%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0 백준 1463번: 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이.. assb.tistory.com #include using namespace std; int numbers[1000001]; //몇번 하는지 횟수 저장 //X가 3으로 나누어 떨어지면 3으로 나눈다. //X가 2로 나누어 떨어지면 2로.. 2022. 8. 9. 백준 2108번 C++ https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net #include #include #include using namespace std; int nums[500000]; int main() { int n; double sum = 0; cin >> n; for (int i = 0; i > nums[i]; //더하기 sum += nums[i]; } cout 2022. 8. 7. 백준 1003번 C++ https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 이번 문제에서 처음에 피보나치를 재귀로 풀었을 때의 C++코드를 줘서 어...? 왜 친절하지라고 생각을 하고 그 함수 그대로 사용해서 코드를 다음과 같이 만들었습니다. 당연하게도 밑에 코드는 실패한 코드입니다. #include using namespace std; int zeroCount = 0, oneCount = 0; int fibonacci(int n) { if (n == 0) { zeroCount++; return 0; } else if (n == 1) { oneCount++; retu.. 2021. 9. 12. 백준 11651번 C++ https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 이 문제말고 다른 문제인 좌표정렬하기1? 이라고 해야하나.. 1번 좌표 정렬하기 문제를 풀었을 때는 sort를 사용할 때 그냥 vector를 sort(a.begin(), a.end());를 사용하면 자동으로 a.frist를 비교하고 b.frist를 비교해서 출력을 해주기 때문에 사용자 정의 함수를 코딩할 필요가 없었습니다. 하지만 이 문제는.. 2021. 9. 3. 이전 1 ··· 4 5 6 7 8 9 10 다음