알고리즘62 Softeer - 코딩테스트세트 https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=630 #include #include #include #include #include using namespace std; long long min(long long a, long long b) { return a > b ? b : a; } bool f(vector &C, vector &D, long long cand) { long long prev = 0; for (int i = 0; i = cand) { prev = D[i]; continue; } long long r = cand - C[i]; long long d = D[i] + prev; .. 2022. 2. 13. Softeer - 교차로 https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=803 시간제한 발생 시, update time 처리 필요 2 ≤ N ≤ 200,000 모든 i(1 ≤ i ≤ N)에 대해, 0 ≤ ti ≤ 10^9 => 10^9 만큼 처리하는 게 아니라, 200,000 만큼만 처리해야함. #include #include #include #include using namespace std; #define ID front().first #define TIME front().second queue seq[4]; vector answer; int cur; const int MAX = 10E8 + 3 * 10E4; char right(char d) { return (d +.. 2022. 1. 31. Softeer - 로드 밸런서 트래픽 예측 https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=629 Softeer Problem을 담을 Box를 선택해 주세요. 취소 확인 softeer.ai 요는 로드 밸런서 자체를 구현하는 게 아니라, 예측 이다. 임의의 노드에 대한 계산을 하기 전에, 그 노드의 부모노드가 계산되었는지 확인이 필요하다. 하나의 노드를 처리한 후, 그 노드의 자식노드를 처리할 때, 다른 부모노드의 영향을 받는지 확인하면 된다. 이렇게 하면, 각 노드는 자식노드로 단 한번씩만 전파된다. - 시도1 : 로드 밸런서 자체를 만들어서 실행. -> 타임아웃.. - 시도2 : 로드 밸런서 실행시키면서 반복구간을 찾고, 반복구간 길이를 가지고 계산하기. -> 타임아웃.. #include.. 2021. 12. 15. 프로그래머스 - 행렬 테두리 회전하기 #include #include #include using namespace std; vector board; int c; int dx[] = {1,0,-1,0}; int dy[] = {0,1,0,-1}; int r(vector q) { int dir = 0; int sy = q[0] - 1; int sx = q[1] - 1; int ey = q[2] - 1; int ex = q[3] - 1; int cy = sy + dy[dir]; int cx = sx + dx[dir]; int t = board[sy][sx]; int ans = c; while (1) { ans = min(ans, t); swap(t, board[cy][cx]); if (cy == sy && cx == sx) { break; } if.. 2021. 10. 9. 이전 1 ··· 9 10 11 12 13 14 15 16 다음