전체 글
-
싱글톤 패턴(Singleton Pattern)Java/디자인 패턴 2023. 6. 19. 23:09
디자인 패턴 - 프로그램 설계 시에 발생했던 문제점들을 객체 간의 상호 관계를 통하여 해결할 수 있도록 만들어 놓은 규약의 형태 싱글톤 패턴(Singleton Pattern) 싱글톤 패턴은 디자인 패턴의 다양한 종류 중 가장 흔하고(?) 자주 들어보신 분들이 계실 것 같습니다. 말 그대로 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴으로, 보통 하나의 클래스를 기반으로 여러개의 인스턴스를 만들 수 있지만, 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰입니다. Ex) 데이터베이스 연결 모듈 싱글톤 패턴의 장점 인스턴스를 생성할 때 드는 비용이 줄어든다. 싱글톤 패턴의 단점 의존성이 높아진다. ( 객체지향 5대 원칙 중, 개방-폐쇄 원칙 문제 발생 ) TDD(테..
-
[Spring Boot] Spring boot + GPT 3.5를 활용한 CS 챗봇 앱Java/Spring boot 2023. 6. 15. 17:10
앱스토어 링크 : https://apps.apple.com/app/learnable/id6449747626 Learnable “당신의 CS 학습 파트너“ Learnable과 함께 효과적으로 CS를 공부해보세요. [No. 1 개발 직군 기술 면접 파트너] ■ 과목 선택 기능 - 다양한 과목 집중 학습 자료구조, 운영체제, 데이터베이스 등 apps.apple.com 플레이스토어 링크 : https://play.google.com/store/apps/details?id=inha.capstone.learnable Learnable(러너블)-당신의 CS 학습 파트너 - Google Play 앱 당신의 CS 학습 파트너 play.google.com Spring boot + GPT-3.5-Turbo를 활용한 컴..
-
[Spring Security] WebSecurityConfigurerAdapter 에러Java/Spring Security 2023. 3. 5. 01:14
가끔 구버전 Spring security 강의나 자료를 보면 SecurityConfig 파일에 WebSecurityConfigurerAdapter를 상속받아서 사용하여 configurer 메소드를 오버라이딩 하여 설정하는 방법을 사용했었다. 예시 @Configuration @EnableWebSecurity // 스피링 시큐리티 필터가 스프링 필터체인에 등록이 됨. public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override // 코드 목록 } 허나 WebSecurityConfigurerAdapter는 현재 deprecated 됐으므로, 현재는 SecurityFilterChain을 리턴하는 메소드를 빈에 등록하는 방식으로, 컴포넌..
-
[백준 Class 2] 11650 좌표 정렬하기 C++ 풀이C++/백준 2023. 1. 16. 18:13
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 링크입니다. 이 문제도 난이도는 실버 5로 10814번 문제와 마찬가지로 자료구조를 알고있느냐의 정도로 보시면 될 것 같습니다. 두 가지의 좌표를 쌍으로 갖고 다니기 위해 pair 자료구조를 활용했고, algorithm 헤더에 존재하는 sort를 사용하기 위해 vector 쌍으로 묶었습니다. #include #include #include..
-
[백준 Class 2] 10814 나이순 정렬 C++ 풀이C++/백준 2023. 1. 16. 18:11
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 링크입니다. 난이도는 실버5로 자료구조를 알고있느냐의 정도로 보시면 될 것 같습니다. key = 나이 value = 회원 이름으로 선택하여 풀었고 key에 중복이 허용되어야 하므로 multimap을 사용했습니다. #include #include #include #include #include using namespace std; multimap member; multimap::iterator it..
-
[백준 Class 2] 1181번 단어 정렬 C++ 풀이C++/백준 2022. 12. 21. 19:10
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 문제 링크입니다. 이 문제의 난이도는 실버5로 문자열과 정렬을 능숙하게 사용할 줄 아는지 묻는 문제입니다. 중복을 허용하지 않는다라고 생각해서 set 자료구조를 떠올리셨을 수도 있겠지만, 굳이 그럴 필요는 없습니다. 1. 길이가 짧은 것 부터 2. 길이가 같으면 사전 순으로 문제에서 제시된 정렬 조건에 맞게 구현하시면 됩니다. 저 같은 경우는 algorithm 헤더에 있는 sort 함수..
-
[백준 Class 2] 1018번 체스판 C++ 풀이C++/백준 2022. 12. 21. 18:31
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제는 링크를 참고하세요. 이번 문제는 실버4 난이도의 체스판 칠하기 입니다. 문제 풀이 알고리즘은 Brute-force(완전탐색) 알고리즘입니다. 이 문제는 문제를 잘 읽어보셔야 합니다. 8X8 크기의 체스판을 만드려고 하는데, 그 이상의 체스판이 주어지면 잘라서 사용합니다. 8X8 크기는 아무데서나 골라도 된다고 하였으므로, 초기 지점에서 자르도록 하겠습니다. 먼저 체스판이 흰색으로 시..
-
[백준 Class 2] 2798번 블랙잭 C++ 풀이C++/백준 2022. 12. 20. 17:50
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 링크입니다. 난이도는 브론즈2로 Brute-force(완전탐색) 알고리즘입니다. 벡터 or 배열에 카드를 넣어두고, 완전탐색으로 모두 탐색하면서 M을 넘지 않는 값중 가장 큰 sum값을 찾으면 됩니다. 시간제한이 1초이나, 카드 개수가 100장으로 적기 때문에 가능합니다. ## CODE #include using namespace std; int main() ..