-
[C++] 백준 15684번 | 사다리 조작Problem Solving/Baekjoon 2023. 7. 14. 02:34
사다리 조작 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net ✍🏻 풀이 처음에는 인접한 번호를 잇는 가로선이 각 줄마다 짝수개면 각 번호에 도착하게 될 줄 알았는데, 예제 5를 보고 잘못 생각했다는 걸 깨달았다. 5 8 6 1 1 2 2 3 3 4 4 3 1 4 2 5 3 6 4 그렇다고 사다리를 놓는 모든 경우의 수를 탐색하자니, 시간 초과가 날 것이다. 이 문제를 해결하기 위해서는 정답이 3보다 큰 값이면 -1을 출력한다. 라는 조건을 잘 사용해야 한다. 이 조건은 사다리를 0, 1, 2, 3개를 놓았을 ..
-
[C++] 백준 12100 | 감시Problem Solving/Baekjoon 2023. 7. 14. 02:19
감시 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net ✍🏻 풀이 solution 함수에서 cctv들의 방향을 상, 하, 좌, 우 중 선택한다. monitor 함수에서 감시 할 수 있는 칸을 표시해준다. 이 때, 사무실에는 벽이 있는데, CCTV는 벽을 통과할 수 없다. 이 조건을 꼭! 생각해주어야 한다. 사각지대의 크기를 계산해 나가며 최솟값을 구한다. ✅ Accept Code // baekjoon 15683 #include using namespace std; int N, M; int room[8]..
-
[Spring] @GeneratedValue | 엔티티의 기본 키 생성 전략Spring 2023. 6. 18. 17:23
🔍 @GeneratedValue /* * Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0, * or the Eclipse Distribution License v. 1.0 which is available at * http://www.eclipse.org/org/documents/edl-v10.p..
-
[Spring] TDD와 단위 테스트Spring 2023. 6. 18. 00:25
🔎 TDD (test-driven development) TDD는 테스트가 주도하는 개발을 의미한다. 테스트 코드를 먼저 작성하는 것부터 시작한다. RED: 항상 실패하는 테스트 작성 GREEN: 테스트 통과하는 프로덕션 코드 작성 REFACTOR: 테스트 통과하면 프로덕션 코드 리팩토링 🔎 단위 테스트 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 의미하며, 다음과 같은 이점을 가진다. 개발단계 초기에 문제를 발견하게 도와줌 추후 코드 리팩토링, 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인 가능 기능에 대한 불확실성 감소 시스템에 대한 실제 문서 제공 자동검증 가능 개발자가 만든 기능을 안전하게 보호 기존 기능이 잘 작동되는 것을 보장 테스트 프레..
-
[C++] 백준 14500 | 테트로미노Problem Solving/Baekjoon 2023. 6. 17. 20:19
테트로미노 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net ✍🏻 풀이 정사각형 4개를 이어 붙인 도형을 테트로미노라고 한다. 이 테트로미노는 위와 같이 총 5가지의 경우의 수로 나뉜다. (회전, 대칭 가능) 이 문제를 보고 DFS나 BFS로 풀면 간단하게 풀릴 거라고 생각했지만, 주의할 점이 있다. 언뜻 봤을 땐 깊이 4로 탐색하면 되지만 우리가 주목해야 할 건 'T' 모양의 테트로미노다. (ㅏ, ㅓ, ㅗ, ㅜ) 이 모양은 나머지 모양과 별개로 따로 탐색해주어야 한다! 또 주의해야 할 점은 주어진 배열의 범위가..
-
[Spring] Spring Security + JWT 로그인 구현하기 - 4Spring 2023. 6. 16. 14:36
📝 지난 포스팅 ➡︎ Spring Security + JWT 로그인 구현하기 - 3 [Spring] Spring Security + JWT 로그인 구현하기 - 3 📝 지난 포스팅 ➡︎ Spring Security + JWT 로그인 구현하기 - 2 [Spring] Spring Security + JWT 로그인 구현하기 - 2 Spring Security + JWT 로그인 구현 1️⃣ 라이브러리 설정 Spring Security와 JWT를 사용하기 위해 다 suddiyo.tistory.com 지난 포스팅에서 Postman을 사용해서 로그인 기능이 잘 작동하는지 테스트를 해보았다. 이번 포스팅에서는 SpringBootTest와 TestRestTemplate을 이용하여 test code를 직접 작성해보는 방식으..
-
[Spring] Spring Security + JWT 로그인 구현하기 - 3Spring 2023. 6. 15. 17:49
📝 지난 포스팅 ➡︎ Spring Security + JWT 로그인 구현하기 - 2 [Spring] Spring Security + JWT 로그인 구현하기 - 2 Spring Security + JWT 로그인 구현 1️⃣ 라이브러리 설정 Spring Security와 JWT를 사용하기 위해 다음 라이브러리들을 추가해준다. build.gradle dependencies { ... // Spring Security implementation 'org.springframework.boot:sp suddiyo.tistory.com 지난 번에 Spring Security + JWT로 구현한 로그인 기능을 구현해보았는데 이번에는 Postman을 사용해서 로그인 기능이 잘 작동하는지 테스트를 할 것이다! 1️⃣ DB..
-
[Spring] Spring Security + JWT 로그인 구현하기 - 2Spring 2023. 6. 15. 01:43
📝 지난 포스팅 ➡︎ Spring Security + JWT 로그인 구현하기 - 1 [Spring] Spring Security + JWT 로그인 구현하기 - 1 Session vs Token 사용자 인증 방식은 일반적으로 세션 기반 방식과 토큰 기반 방식(JWT)으로 나뉜다. 두 방식은 어느 것이 더 뛰어나다고 하긴 애매하고, 각 방식의 장단점과 요구사항을 분석하여 상 suddiyo.tistory.com 지난 포스팅에서 Spring Security + JWT 로그인 작동 원리를 알아봤으니, 이번 포스팅에서는 본격적으로 기능을 구현해 볼 것이다. 1️⃣ 라이브러리 설정 Spring Security와 JWT를 사용하기 위해 다음 라이브러리들을 추가해준다. build.gradle dependencies { ..