본문 바로가기

전체 글

(336)
DFS를 활용한 조합 조합이란 우리가 고등학교 때 배웠던 Combination을 말한다. 조합은 순서를 반영하지 않는다. 즉 1 2 3 과 2 1 3 은 같은 조합이다. 우리가 아이폰, 에어팟 조합과 에어팟, 아이폰 조합을 구분하지 않는 것과 같다. 개발을 하다보면 조합을 활용해야할 경우가 상당히 많다. 그때 dfs를 활용한 조합 코드를 유용하게 사용할 수 있다. 그러나 완전탐색을 해야하는 경우나 N이 크다면 조합은 지양하는 것이 좋은데, 우선 백트레킹 방식을 사용하는 dfs 조합은 재귀 방식을 사용하기 때문에 자연스럽게 오버헤드의 부담이 생길 수 밖에 없다. EX) 1, 2, 3, 4 중 3개를 뽑는다고 가정하자. 그렇다면 1 2 3 1 2 4 1 3 4 2 3 4 앞자리수를 고정하는게 가장 편리하다 . dfs또한 이를 따..
백준 2295번 세 수의 합(C++) 어려운 문제였다. 문제를 잘 읽고 분석하는게 참 중요했던 문제. 이런 문제도 있구나 세상은 넓고 나는 너무 ㅈ밥이다.... 처음 생각한 풀이: 1. nC3 조합을 구함 2. 집합에 속하면 삽입 3. answer를 max로 갱신 -> 시간초과. 이 문제는 완탐을 해야하는데 그 도구가 DFS 조합이었다. 그러나 N이 클 때는 오버헤드 문제를 고려하여 반복문 BF보다 조합이 훨신 느리다. 시간복잡도는 O(2^100 * N^M) 두 번째로 생각한 풀이: 1. BF로 모든 값을 구함 2. 벡터에 삽입 3. 주어진 집합을 sort 4. 주어진 집합의 최대값부터 이분탐색 5. 큰 값부터 찾으니 존재하면 출력 후 종료 이것도 틀렸다. 우선 3개를 고르기 때문에 기본적으로 O(N^3)의 시간이 걸리니 이분탐색까지 하면 ..
리눅스 - 자주 쓰는 명령어 포트 상태 : netstat -tnlp mysql 실행 : sudo service mysql start mysql 접속 : sudo /usr/bin/mysql -u root -p 서버 백그라운드에서 계속 스프링 실행 nohup java -jar 파일이름.jar &
Spring Boot - http통신에서 PUT 명령 GET -> 읽기 POST -> 쓰기 PUT -> 수정 Future _putRequest(){ return http.put( Uri.parse('HPPT 주소'), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({ '문서이름' : '값', '문서이름' : '값' }), ); } 값은 나중에 다 알아서 들어감. 똑똑한 플러터 스프링 하, 이거 진짜 못찾았는데 공식문서에 너무 친절하게 설명되있었음..
Spring Boot(Java) - 자바에서 원하는대로 정렬 C++과 유사하지만 Collections 라는 컴포넌트? 함수? 제네릭? 을 사용함
Spring Boot - JpaRepository 사용 설정 1. pom.xml 수정 org.springframework.boot spring-boot-starter-data-jpa 이게 없으면 추가 레포지토리 만들기 완료
Spring Boot - 인텔리제이로 maven jar 배포 0. pome.xml에서 만약 여기서 14번째 줄이 jar이 아니라 war이거나 아에 패키징이라는 문장이 없다면 추가해준다. 1. Edit Configuration 2. + 버튼을 눌러서 Maven 추가 3. 아마 처음에는 Run 아래 칸이 빈칸일 것이다. 저기서 package입력 4. 완료하면 오른쪽 위 실행 파일이 스프링부트가 아니라 Maven으로 바뀌어 있을 것이다. 실행을 하면 진행이 될 것이고 성공적으로 빌드가 완료된다면 프로젝트 경로 - target 파일에 이렇게 파일이 생길 것이다. 여기서 위에 파일이 jar 파일이다. 잘 됐는지 확인해보자 5. cmd 에서 실행 잘된다!
[오류]Error creating bean with name 'springSecurityFilterChain' defined in class path resource Bean이 생성되지 않는다는 오류. 원인) 1. @Autowired를 붙히지 않음 2. 스프링 시큐리티에서 생성자를 만들지 않음