본문 바로가기

백준756

[자바] 백준 23827 - 수열 (Easy) (java) 문제 : boj23827 필요 알고리즘 개념 누적 합 (prefix sum) 누적 합 개념을 알고 있으면 더 편하게 풀 수 있다. 기본적인 수학 수식을 편한 방식으로 짤 수 있도록 바꿀 수 있어야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 N=4에 대해 A1, A2, A3, A4를 생각해보자. i=1에 대해, A1*A2+A1*A3+A1*A4 = A1(A2+A3+A4) 이다. 마찬가지로 i=2에 대해, A2(A3+A.. 2022. 8. 19.
[자바] 백준 2517 - 달리기 (java) 문제 : boj2517 필요 알고리즘 개념 세그먼트 트리, 펜윅트리 등의 구간 쿼리 알고리즘 이 문제의 경우 분할 정복을 통해서도 풀 수 있는 것으로 알고 있다. 그리고 또다른 정해로 구간 쿼리 알고리즘을 사용해서도 일반적으로 Inversion Counting이라 불리는 기법으로 풀 수 있다. 정렬 정렬하는 방법을 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 자신보다 실력이 좋은 사람은 이길 수 없다는 조건이.. 2022. 8. 18.
[자바] 백준 1038 - 감소하는 수 (java) 문제 : boj1038 필요 알고리즘 개념 브루트포스 모든 경우의 수를 살펴보는 브루트포스 개념을 알고 있어야 한다. 브루트포스 글 백트래킹 브루트포스에서 모든 경우를 볼 때, 중간에 답이 될 가능성이 없는 부분을 제외시켜 시간복잡도를 낮추는 백트래킹 개념에 대해 알고 있어야 한다. 백트래킹 글 ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 우선 이 문제에서 나올 수 있는 가장 큰 감소하는 수가 '9876543210'임은 생.. 2022. 8. 18.
[자바] 백준 1517 - 버블 소트 (java) 문제 : boj1517 필요 알고리즘 개념 세그먼트 트리, 펜윅트리 등의 구간 쿼리 알고리즘 이 문제의 경우 분할 정복을 통해서도 풀 수 있는 것으로 알고 있다. 그리고 또다른 정해로 구간 쿼리 알고리즘을 사용해서도 일반적으로 Inversion Counting이라 불리는 기법으로 풀 수 있다. 정렬 정렬하는 방법을 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 버블 소트의 경우 O(N^2)이 필요하다. 따라서 .. 2022. 8. 17.
[자바] 백준 21312 - 홀짝 칵테일 (java) 문제 : boj21312 필요 알고리즘 개념 짝수, 홀수 판정 짝수와 홀수 판정하는 방법을 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 문제에서 제시된 조건을 고유 번호의 곱에 해당하는 '맛'을 기준으로 다시 살펴보자. 임의의 맛 X와 맛 Y가 있다고 해보자. 1. X가 홀수이고, Y가 짝수라면 무조건 X가 더 맛있다. 2. X가 짝수이고, Y가 홀수라면 무조건 Y가 더 맛있다. 3. X가 홀수이고, Y가 홀.. 2022. 8. 17.
[자바] 백준 4562 - No Brainer (java) 문제 : boj4562 필요 알고리즘 개념 입출력 기본적으로 입력을 올바르게 받고, 원하는걸 출력 할 수 있으면 풀 수 있다. 조건문, 반복문 입력받을 때 반복문을 통해 원하는 횟수만큼 입력을 받을 수 있어야 하고 매번 조건문을 통해 답을 판단해줘야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 문제풀 때 기초가 되는 입출력과 반복문 문제이다. 차후 이런방식으로 입력받는 경우가 많으므로 그 연습이라고 보면 될 것 같다.. 2022. 8. 17.
[자바, C++] 백준 10999 - 구간 합 구하기 2 (java cpp) 문제 : boj10999 필요 알고리즘 개념 lazy propagation을 적용한 세그먼트 트리 혹은 펜윅 트리 세그먼트 트리 + lazy propagation 혹은 range update, range query가 가능한 펜윅 트리를 알고 있어야 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 세그먼트 트리 lazy propagation 혹은 range update, range query 펜윅 트리의 기본형태 .. 2022. 8. 15.
[자바] 백준 2820 - 자동차 공장 (java) 문제 : boj2820 필요 알고리즘 개념 lazy propagation을 적용한 세그먼트 트리 혹은 펜윅 트리 세그먼트 트리 + lazy propagation 혹은 range update가 가능한 펜윅 트리를 알고 있어야 풀 수 있다. 오일러 경로 테크닉 내 경우엔 이런게 있는줄 모르고 풀고보니 내가 한게 이거였다. 그러니 필요한 알고리즘 개념은 아니다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. a의 모든 부하의.. 2022. 8. 15.
[자바, C++] 백준 16975 - 수열과 쿼리 21 (java cpp) 문제 : boj16975 필요 알고리즘 개념 lazy propagation을 적용한 세그먼트 트리 혹은 펜윅 트리 세그먼트 트리 + lazy propagation 혹은 range update가 가능한 펜윅 트리를 알고 있어야 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 세그먼트 트리 lazy propagation 혹은 range update 펜윅 트리의 기본형태 문제이다. 펜윅 트리로 풀려면 작성해둔 펜윅 트.. 2022. 8. 15.
[자바, C++] 백준 11658 - 구간 합 구하기 3 (java cpp) 문제 : boj11658 필요 알고리즘 개념 다차원 펜윅 트리, 세그먼트 트리 펜윅 트리 혹은 세그먼트 트리를 2차원에 대해 적용할 수 있어야 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 다차원 펜윅 트리, 세그먼트 트리 등으로 풀 수 있는 기본형태의 문제이다. 펜윅 트리로 풀려면 작성해둔 펜윅 트리 글에서 '응용 1' 부분을 읽어보면 이 문제를 풀 수 있다. 코드(C++) : github #include #.. 2022. 8. 15.