분류 전체보기137 백준 2792 C++ https://www.acmicpc.net/problem/2792간단하게 바이너리 서치로 풀 수 있는 문제였습니다. #include using namespace std;int n, m;int result = 987654321;vector v;bool check(int num){ int a = 0; for (int i : v) { a += i / num; //num개로 나눴을 때 받는 학생의 수 if (i % num != 0) a += 1; } return a }int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m; //n명의 학생, m개의 색상 수 //각 색상별 개수 push int temp; for .. 2025. 2. 7. 백준 17822 C++ https://www.acmicpc.net/problem/17822이 문제도 첫 인상이 괴랄하게 생겼다.무슨 (i,1) ~~ 인접하다. 복잡하게 생겼다.이 글을 보고 생각하는 것 보다 밑에 예제를 보는 것이 훨씬 낫다.예제를 보면 n, m, t 등등이 무엇을 의미하는지 어떻게 작동하는지 쉽게 알 수 있다.그래서 문제에서 요구하는 점을 하나씩 구현하면 해결은 쉽게 할 수 있다. array를 회전하는 것은 힘들 것으로 판단되서 deque로 front, back을 사용했다. #include using namespace std;int n, m, turnCount; //n = 원판의 개수, m = 각 원판에 적힌 수의 개수, t = 회전횟수vector> circles(55);int dy[] = { -1,.. 2025. 1. 30. 백준 15683 C++ https://www.acmicpc.net/problem/15683 고민 했던 부분은 어떻게 원복을 할 것인가였다.return값으로 vector가 되는 것을 확인했고 다음과 같이 작성했다.결국 중복되는 코드가 많아서 함수화 시켜서 해도 좋을 것 같다는 생각은 하긴 했지만 코딩 테스트니까. 이렇게만 작성했다. #include using namespace std;int n, m;int result = 987654321;int room[10][10];int dy[] = { -1, 0 ,1, 0 };int dx[] = { 0, 1, 0, -1 };vector> cctvPos;vector> watch(int cctvIndex, int dir){ vector> changed; int ny = cctvPos[cct.. 2025. 1. 30. 백준 1912 C++ https://www.acmicpc.net/problem/1912좀 다양하게 생각을 했었다.뒤에서부터 더해서 부분 합을 다 구해놓으면 어떨까?-, +가 연속해서 들어온다면 연속해서 더해서 vector에 넣은 다음에 하는건? 마지막이 코드로 작성한 방법인데처음부터 더하다가 -값이 나온다면 이미 그 후에 더하는 값은 최대값이 될 수 없다는 생각이었다.그리고 더하다가 -가 되기 전에 최대값이 있으면 최대값으로 설정했다.#include using namespace std;int n; //총 배열 길이int maxResult = -987654321;bool bIsPossitive = false;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);.. 2025. 1. 28. 이전 1 2 3 4 ··· 35 다음