본문 바로가기
728x90

코테준비/하루한개도전~82

softeer : 로드 밸런서 트래픽 예측 https://softeer.ai/class/devcrew/study/resource/detail/description/6263?id=280&resourceId=328 Softeer - 현대자동차그룹 SW인재확보플랫폼[21년 재직자 대회 예선] 로드 밸런서 트래픽 예측 난이도 3 단계 참가자 7 명 제출 28 명 정답률 25.00 % 언어별 시간/메모리 언어별 시간/메모리 표 언어 시간 메모리 JavaScript 4초 1024MB C 2초 1024MB C++softeer.ai 열심히 삽질끝에 해냈다~~ 이 문제의 핵심은 topological sort를 이용하는것! 처음에는 시뮬레이션 문제로 접근했다! 진짜 k번씩 반복을 돌려서 각 노드에 하나씩 누적시키는.......근데 일단 k의 범위가 long lon.. 2024. 9. 14.
백준 : 2504 - 괄호의 값 https://www.acmicpc.net/problem/2504  수많은 삽질끝에 해결했다!두가지 생각을 해야하는데,,,,, 1. 올바른 괄호의 판단 : stack을 이용한다2. value 계산 : 재귀로 해결 value계산은! 아주 복잡하진 않고, 조각조각 나눠주면서 해결해주면 된다.1. 덧셈인 경우 : (())[[]] 라는 문자열 => (())와 [[]]의 value를 각각 더해주면 된다.    즉 반복문을 돌면서 괄호판단을 할 때, (())이후 [를 검사할 때 한번 stack이 empty상태가 된다 == 이 때 이전부분을 value함수로 넣어주기                                                        [[]]까지 다 검사한 다음, 마지막에 또 stack이.. 2024. 9. 12.
softeer : 마이크로서버 https://softeer.ai/class/devcrew/study/resource/detail/description/6264?id=280&resourceId=328 Softeer - 현대자동차그룹 SW인재확보플랫폼[21년 재직자 대회 예선] 마이크로서버 난이도 3 단계 참가자 8 명 제출 33 명 정답률 27.27 % 언어별 시간/메모리 언어별 시간/메모리 표 언어 시간 메모리 JavaScript 3초 1024MB C 1초 1024MB C++ 1초 1024MB Javsofteer.ai 쉬운줄 알았는데 어렵다... 처음에는 그냥 무조건 정렬해두고 투포인터로 풀었다 (양쪽부터 최대한 많이 묶기) 근데!! 300 300 300 을 그냥 900으로 묶는게 더 좋은 방법인 상황이 있었다    300 300 3.. 2024. 9. 11.
백준 : 2805 - 나무 자르기 https://www.acmicpc.net/problem/2805 난 이런문제를 보면 그냥 구현으로 풀었는데(min 또는 max를 생각해서 1씩 올리거나 낮춰보기)이진탐색으로 푸는거라고 한다! 전체적인 느낌은 비슷하다(나름 생각해서) 초기값을 정하고,테스트를 한 다음 테스트값에 따라 초기값을 늘리거나 줄이거나 해준다. 근데 나처럼 1씩 올려주거나, 1씩 줄여주면 너무 오랜시간이 걸릴 수 있다 (모든 경우를 탐색해야할수도 있음) 근데 이진탐색은?경우의수를 계속 2로 나눠주니까.. 시간면에서 엄청난 이득을 본다! (굳이 확인 안해도 될것같은 부분은 넘기는것)나무자르기 문제도 비슷하다. 1. 제일 긴 나무를 기준으로 min = 0, max = tree[제일 긴나무] 로 설정해준다. 2. mid = (min +.. 2024. 9. 7.
softeer - 비밀메뉴 https://softeer.ai/practice/6269 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 투포인터로 풀려고 했는데, string -> contain(c++에서는find)를 이용하면 더 간단하게 풀이가 가능했다! * 투포인터 주의할점   반복문 안에서 처리할 때, 제일 마지막 인덱스는 처리가 안될 수 있다.   => 반복문 밖에서 한번 더 확인해줄 필요가 있음! [틀린답안]#include#include using namespace std;int main(int argc, char** argv){ int m, n, k; cin >> m >> n >> k; vector secret_menu; for(int i = 0; i> temp; s.. 2024. 9. 3.
프로그래머스 : 불량 사용자 https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음에는 경우의 수 문제처럼 접근했다. (그냥 수학계산으로만 해결하려고함)각 banned_id마다 가능한 user_id 경우의수를 찾고, 다 곱해줬는데.... 해결이 안됐다! 두번째 테스트 케이스 같은 경우를 생각해보면, 내가 처음 생각한 방법대로면 *rodo 2개, *rodo 2개, ****** 2개 해서 총 8개라는 결과가 나온다하지만...실제로는 이런 경우의 수만 가능하게 된다!ㅎㅎ.. 그래서 .. 2024. 9. 2.
728x90