전체 글
-
프로그래머스 (Level 1) - K번째수Coding Test/Coding Test 문제 풀이 2021. 12. 27. 11:49
문제 설명 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 풀이 commands 배열을 하나씩 탐색하면서 배열 array의 x번째부터 y번째까지의 숫자를 임시 배열인 temp에 저장했다. 저장이 끝나면 Arrays.sort() 메서드를 통해서 오름차순 정렬을 한 후, z번째에 있는 숫자를 찾아내는 방식으로 문제를 해결하였다. 전체 소스코드 import java.io.*; import java.util.*; public class Solution07 { public int[] solution(int[] array, int[][] commands) { int[] answer = ..
-
프로그래머스 (Level 1) - 완주하지 못한 선수Coding Test/Coding Test 문제 풀이 2021. 12. 26. 23:17
문제 설명 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 처음에는 이중 반복문을 통해서 문제를 해결하고자 하였다. 이중 반복문을 사용하면 마라톤의 참여한 선수는 최대 100,000명이기 때문에, 100,000 * 100,000의 연산이 필요했다. 따라서, 시간 복잡도를 고려하면 다른 방식이 필요하다고 생각하였다. 시간 복잡도를 줄이기 위해 HashMap 자료구조를 사용하였다. 처음에는 마라톤 참가자 배열(participant)을 하나씩 탐색하면서 (마라톤 참가자, 1)의 형태로 Ha..
-
Delivery Together - JWT 인증방식의 로그인(4)Projects/Problem & Solution 2021. 12. 26. 20:33
개요 이전 게시물에서 사용자 로그인 정보를 통해 JWT를 발급하는 과정까지 알아보았다. 이번에는 발급한 JWT를 통해 어떠한 방식으로 정보 교류가 이루어지는지 알아보도록 하겠다. JWT 인증 JwtAuthenticationFilter 클래스 public class JwtAuthenticationFilter extends OncePerRequestFilter { private UserDetailsService userDetailsService; private JwtTokenHelper jwtTokenHelper; public JwtAuthenticationFilter(UserDetailsService userDetailsService, JwtTokenHelper jwtTokenHelper) { this.u..
-
프로그래머스 (Level 1) - 소수 만들기Coding Test/Coding Test 문제 풀이 2021. 12. 26. 16:16
문제 설명 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 풀이 주어진 정수형 배열 nums에서 임의의 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하는 문제이다. 우선, 정수형 배열 nums에서 완전 탐색 기법을 사용해서 3개의 숫자로 구성할 수 있는 모든 조합을 탐색하였다. 3개의 숫자 조합을 탐색할 때마다 3개 숫자의 합을 구하고, 구한 숫자가 소수인지 아닌지 판별 함으로써 문제를 해결하였다. 전체 소스코드 import java.io.*; import java.util.*; p..
-
프로그래머스 (Leve 1) - 내적Coding Test/Coding Test 문제 풀이 2021. 12. 26. 15:11
문제 설명 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 풀이 a와 b배열 내 원소를 하나씩 탐색하고, 곱한 후 더해주는 방식으로 문제를 해결하였다. 전체 소스코드 import java.io.*; import java.util.*; public class Solution04 { public int solution(int[] a, int[] b) { int answer = 0; for (int i = 0; i < a.lengt..
-
프로그래머스 (Level 1) - 없는 숫자 더하기Coding Test/Coding Test 문제 풀이 2021. 12. 26. 14:48
문제 설명 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers에서 찾을 수 없는 숫자를 모두 더한 수를 계산하는 문제이다. 우선, false로 초기화된 불리언 배열 checked를 선언한다. numbers 배열을 하나씩 탐색하면서 checked 배열 내 원소를 true로 변경한다. numbers 배열의 탐색이 끝났으면, checked 배열 내 원소가 false인 인덱스를 모두 더해주는 방식으로 해결을..