본문 바로가기

전체 글

(403)
[프로그래머스] PCCP 모의고사 2번 - 체육대회 (C++) https://school.programmers.co.kr/learn/courses/20847/lessons/255901 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 최대 10명, 10과목이 있을 수 있으며 이 문제는 완전탐색 문제이다.  다이나믹 프로그래밍으로 풀이해보려 했는데 적당한 점화식이 떠오르지 않았고 N이 작아 충분히 dfs 완전탐색으로 진행할 수 있을 것이라 보았다. #include #include using namespace std; int answer = 0;bool visited[11];int N, M;vector> abil;void dfs(int idx, int event ,..
[구름 난이도3] 비타민 주스 (Java) https://level.goorm.io/exam/51352/%EB%B9%84%ED%83%80%EB%AF%BC-%EC%A3%BC%EC%8A%A4/quiz/1 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io A, B, C를 모두한번씩 포함하도록 해야한다. N이 1000이고 반드시 3개 이하의 조합이 정답이 될 것이기 때문에 시도해봤다. 그런데 시간초과가 발생했다.그래서 AB의 경우 다음 조합으로 A를 더하려고 하면 시도하지 않는 식으로 수정했더니 간신히 통과했다. 정해는 아닌 것 같은데 정해는 무엇일까 궁금하다.  static void dfs(int idx, String bitamin, int cost, int cnt){ if(bitamin.c..
[2024년 하반기] 현대캐피탈 코딩테스트 후기 금융 IT 직무로 지원했다.  지난 상반기에 현대캐피탈의 경우는 서류합격을 했었기 때문에 스펙이 아주 떨어진다는 의미가 아니니까 이번에도 글만 잘쓰면 합격할 수 있겠다고 생각했다.  그리고 상반기엔 서류합격 -> 코딩테스트 였는데 이번엔 서류 + 코딩테스트로 바뀌었다. 코딩테스트의 총평을 하자면1. 긴장풀이용 문제2. 세븐세그먼트 관련 문제가 나왔고 꼼꼼함과 아이디어가 필요한 문제였다. 백준으로 따지면 정답률이 낮은 실버문제라고 생각된다.3. 비슷한 문제가 백준에 있는데 그 문제는 DP를 써야했지만 여기선 N을 적게줘서 완탐으로 풀리는 문제였다. 난 완탐으로 풀었다. 난이도는 골드 4~5정도4. 어려운 난이도의 브루트포스 + 그래프였다. 난 풀지 못했고 난이도는 골드2 이상이라고 본다. 총 2시간 동안 ..
[백준] 1202번 보석 도둑 (C++) https://www.acmicpc.net/problem/1202 자료구조를 너무 그냥 처음부터 넣어놓고 꺼내면서 확인하는 식으로만 사용하려는 경향이 있는 것 같다. 고쳐야돼!! 유연한 사고! 먼저 이 문제도 O(N^2)을 최적화하는 문제이다. 그래서 처음에 생각했던 풀이는 이분탐색 lower bound이다. 단순히 이분탐색만 진행했다면 O(N long N)으로 가능하지만 안타깝게도 erase연산이 들어가야하기 때문에 O(N*K)와 다름없어지기 때문에 맞는 풀이가 아니다. 그래서 이 문제는 그리디 + 우선순위큐가 된다. 우선 가방의 크기대로 정렬하고 가방의 크기에 맞으면 전부 우선순위큐에 넣고 이제 더이상 못 넣으면 최댓값을 top으로 가져오면 된다. 이 생각만 해내면 쉬운데 생각하는게 힘들었다. 아무래..
[프로그래머스LV2] 뒤에 있는 큰 수 찾기(Java) https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr N이 백만이기 때문에 O(N^2)으로 처리할 수 없다 혹은 O(NlogN)까지 최적화해야한다. 그러나 이분탐색으로 풀만한 여건을 안보이고 이중포문을 최적화해야하는 문제이다. 처음엔 스택을 생각하긴 했는데 구체적인 해결법을 생각하지는 못했다. 이 문제에서 파악했어야할 것은 다음과 같다. 9 2 1 1 6 이라고 주어졌을 경우 2, 1, 1 은 동일하게 6을 뒷큰수로 갖는다. 만약 이중포문으로 푼다면 2 -> 6 , 1 -> 6, 1 -> 6 으..
[Spring Security] 수동 로그인 구현하기 스프링 시큐리티를 사용해 프로젝트를 진행하던 중 카카오로 로그인 요청을 했을 때 회원가입이 안되어있으면 회원 가입을 하고 아니면 바로 로그인이 되는 기능을 구현하였다. @GetMapping("/auth/kakao/callback") public String kakaoCallBack(String code, HttpServletRequest request) throws ParseException { String username = loginService.requestKakaoToken(code); loginService.forcedLogin(username, request); return "redirect:/"; } 먼저 카카오 콜백 메소드이다. 유저네임 = 이메일을 카카..
[Spring Security] 스프링시큐리티의 기본 로그인을 사용하지 못했던 문제 스프링 시큐리티는 기본적으로 /login 에서 기본 로그인 화면을 지원한다. 그래서 난 SecurityFilterChain을 구성할 때   http.httpBasic(AbstractHttpConfigurer::disable) .csrf(AbstractHttpConfigurer::disable) .userDetailsService(userDetailService) .authorizeHttpRequests(auth -> auth .requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll() ..
[프로그래머스 LV2] 다리를 지나는 트럭 (C++) https://school.programmers.co.kr/learn/courses/30/lessons/42583?language=cpp# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이번에도 시뮬레이션 문제로 그림을 통해 시뮬레이션을 직접 진행해보는 것이 문제에 가장 도움이 된다.   이렇게 표를 만들어보았다. 그리고 이름처럼 ready에 있는 트럭들은 레디큐, work에 있는 즉 다리에 있는 트럭들은 워크큐로 명명했다.  먼저 시간을 신경쓰지말고 시뮬레이션을 진행해본다고 하자. 그렇다면 총 세가지 케이스가 있다. 1. 도로에 트럭을 올릴 수 있음 2. 도로가 가득차서 트럭을 올릴 수 없음3. 무게..