전체 글 342

[백준] 2178

public class Main { static int[] dx = {0, 1, 0, -1}; // 상 하 static int[] dy = {1, 0, -1, 0}; // 좌 우 static boolean[][] visited; // 방문한 곳인지 체크할 배열 static int[][] miro; // N x M 크기의 미로 static int n, m; // N 개의 줄에는 M 개의 정수로 미로가 이루어짐 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTok..

[백준] 2748번

처음에 dp의 타입을 int 배열로 설정해서 실패했었다. 비록 입력값으로 주는 n의 값이 90 이하라고는 하지만 피보나치 수는 기하급수적으로 늘어나기 때문에 타입을 long으로 바꿔줬다. public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // n번째 피보나치 수 long[] dp = new long[n + 1]; dp[0] = 0; dp[1] = 1; for (int i = 2; i

[Spring Security] WebMvcTest 에서 401/403 에러 해결하기

slice 테스트로 controller의 post 테스트 로직을 작성하고 실행했더니 401 Unauthorized 에러가 발생했다. test 로직에서도 post 요청을 할 때 권한을 같이 넘겨줘야 한다는 것 같은데, WebMvcTest가 컨트롤러 테스트할 때 스프링 시큐리티가 자동으로 구성하는 Configuration 파일들을 불러와서 그렇다고 한다. 해당 문제는 다음과 같이 임의의 UserDetails를 만들어서 해결할 수 있다. @WithMockUser @Test public void postCvTest() throws Exception { } 또는 다음과 같이 excludeFilters를 활용해서 해당 Configurer를 회피하는 방법도 있다. @WebMvcTest(value = CvControl..

[프로그래머스] 올바른 괄호

와.. 오랜만에 stack 쓰려니까 메서드들이 기억 안 나서 블로그에서 찾아보고 풀었 import java.util.Stack; class Solution { boolean solution(String s) { boolean answer = true; Stack st = new Stack(); for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '(') { st.push('('); } else if (s.charAt(i) == ')') { if (st.isEmpty()) { answer = false; break; } else { st.pop(); } } } if(!st.isEmpty()) { answer = false; } return answer; ..

[Spring] Mapstruct 클래스타입 변환 / N:M 관계 매핑 에러

Mapstruct는 Builder를 통해 손수 객체 간 변환을 할 필요 없이 간단하게 변환을 적용해 주는 라이브러리이다. 평소 코드를 작성하면서 Dto 와 Entity 간에 변환이 필요할 때면 mapstruct를 이용해서 작업을 진행했고 이번에도 mapstrurct를 통해 매핑을 하는데 에러가 발생했다. Dto 필드가 많아서 문제가 발생한 코드를 하나 가져와보면, 아래 이너 클래스는 원시타입이 아니라 ProjectDto.Add 클래스 타입의 list를 필드로 갖고 있다. @Getter public static class Post { private List projects; } ProjectDto.Add 또한 내부에 클래스 타입의 List를 가지고 있다. @Data public static class Ad..