전체 글149 [백준] JAVA 자바 : 스택 (10828번) 스택을 구현하는 문제다. 스택이 LIFO 방식의 자료구조라는 것만 유념한다면 어느 정도 고민을 한 후 구현할 수 있다. package BJoon; import java.util.*; class Stack { private static int[] list; // 스택을 구현할 배열 private static int size = 0; // 스택에 담긴 요소의 수 public Stack(int N) { list = new int[N]; } public int size() { return size; } public void push(int e) { list[size] = e; // 배열의 맨 마지막에 요소를 담음 size++; // 요소의 수를 올려줌 } public int pop() { if (size == .. 2024. 1. 18. [내멋대로 만드는 Kimstagram] 4. 글쓰기 구현하기 대망의 글쓰기를 구현할 시간이 다가왔다. 사실 프로필 화면을 먼저 작성하긴 했는데, 이건 프론트엔드에 가깝기도 하고... 또 글쓰기가 먼저 구현 되어야 프로필을 얼추 만들 수 있을 것 같아서 도중에 그만두고 글쓰기를 먼저 구현했다. 우선 게시물 작성 화면은 위와 같다. 뭐... 보면 알 수 있겠지만 굉장히 간단하게 만들었다. 사진 업로드는 을 이용해서 MultipartFile로 업로드되게 만들었다. 물론 이미지만 올릴 수 있게 해야 하는데 그거까지는 로직을 짜기 귀찮아서(...) 생략했다. 물론 이미지는 최대 10개 까지 올릴 수 있다. function previewImages(event) { var preview = document.getElementById('imageBox'); var files =.. 2024. 1. 16. [Spring] 내가 보려고 만든 각종 어노테이션 간단 정리 @Component: Spring Container에 자동 등록. @Controller: Presentation 계층에서 Controller 명시. @Service: Business 계층에서 Service 명시. @Repository: Persistence(영속성) 계층에서 DTO 명시 ← DB와 가장 가까움. JpaRepository나 CRUDReposiroty를 상속받아서 쓰면 따로 메서드 구현 없이 손쉽게 사용할 수도 있음. @Bean: 내가 직접 만든 클래스가 아니라, 외부 라이브러리에서 가져온 클래스를 new 하여 자동 등록. @Configuration: 설정 파일을 명시하여 Bean으로 등록 → 싱글톤을 유지해주므로 작성하는 게 좋음. @Required: 반드시 프로펄티즈 파일을 사용하여 값을.. 2024. 1. 9. [내멋대로 만드는 Kimstagram] 3.Spring Security + JWT 로그인 구현하기 Spring Security 인증과 권한 관리를 용이하게 해주는 라이브러리 build.gradle에서 Spring Security의 주석을 해제해보자. 이제 그 어떤 페이지로도 들어갈 수 없다. Security에서 해당 주소로 오는 주소는 모두 /login으로 보내기 때문이다. 여기서 로그인을 하면 들어갈 수는 있지만… 우리가 기껏 만들어 놓은 로그인 페이지가 있는데, 그걸 활용해야지 무슨 듣도 보도 못한 폼에다가 로그인 하라는 걸까…? 그래서 Spring Security의 설정을 조금 변경해 주었다. @Override protected void configure(HttpSecurity http) throws Exception { // csrf 토큰 비활성화 http.csrf().disable(); //.. 2024. 1. 9. [자료구조] 그래프 (Graph) 그래프: 연결된 객체들 사이의 관계를 표현할 수 있는 자료구조 객체들이 서로 복잡하게 연결되어 있는 구조를 표현할 때 이러한 구조를 표현할 수 있는 가장 훌륭한 논리적 도구가 그래프이다. 지하철 노선도: 가장 대표적인 그래프의 예시 항공 노선도 전기회로 그래프는 정점(Vertex)과 간선(Edge)로 이루어진다. 정점 A와 B를 연결하는 간선은 (A, B)와 같이 정점의 쌍으로 표현하며, 그래프를 수학적으로 표현하고 싶다면 G = (V, E)와 같이 나타낼 수 있다. 그래프의 종류 1) 무방향 그래프: 간선에 방향이 표시되지 않은 그래프. 따라서 하나의 간선은 양방향으로 갈 수 있는 길을 의미하므로 (A, B)와 (B, A)는 동일한간선이다. 2) 방향 그래프: 간선에 방향이 존재하는 그래프. 간선은 화.. 2024. 1. 8. [자료구조] 탐색 트리 (Search Tree) 탐색 트리: 탐색을 위한 트리 기반의 자료 구조 일상생활이나 컴퓨터에서 탐색은 매우 중요한 역할을 한다. 우리가 원하는 데이터를 찾을 때 반드시 거쳐야 하는 과정이 탐색이다. 앞서 이진 탐색을 배웠지만, 레코드의 삽입과 삭제가 빈번히 일어나는 테이블에 대해서는 그다지 효율적이라고 말할 수 없었다. 해싱을 사용하면 매우 효율적이지만 메모리를 많이 사용할 뿐더러 해시 충돌과 오버플로 문제를 처리해야 하므로 매우 복잡하다는 단점이 있다. 그래서 고안된 방안이 탐색에 트리 구조를 이용하는 것이다. 즉 탐색을 위한 이진 트리 기반의 자료 구조가 고안되었는데, 이를 이진 탐색 트리라고 한다. 이진 탐색 트리의 특성 모든 노드는 유일한 키를 갖는다. 왼쪽 서브 트리의 키들은 루트의 키보다 작다. 오른쪽 서브 트리의 .. 2024. 1. 8. 이전 1 ··· 19 20 21 22 23 24 25 다음 반응형