자료구조란?
·
알고리즘
자료구조란? 자료구조(data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다 - 위키 백과 자료구조는 데이터 값을 모임, 데이터간의 관계, 데이터에 적용할 수 있는 함수나 명령을 의미합니다. 문제해결을 위해 여러 형태의 자료구조가 활용이 되며, 이에 따라서 다양한 알고리즘이 사용이 됩니다. 자료구조가 필요한 이유 데이터를 효율적으로 저장하고 관리해서 메모리를 효율적으로 사용하기 위해서 입니다. 자료구조를 적절하게 사용하게 된다면, 메모리의 사용을 줄일수 있고, 실행시간도 단축시킬수 있습니다. 자료 구조의 선택 기준 적은 양의 데이터를 처리할 때는 어떤 자료구조를 사용해도 큰 차이가 없으나, 대량의 데이터 처리에서는 자료구조에 따라서 효율성..
특정 문자 뒤집기
·
알고리즘
문제 알파벳과 특수문자가 섞인 문자열에서 알파벳끼리만 순서를 뒤집고, 특수문자는 뒤집지 않게 하세요 입력 a#b!GE*T@S 출력 S#T!EG*b@a 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Main main = new Main(); Scanner in = new Scanner(System.in); String str = in.next(); System.out.println(main.solution(str)); } public String solution(String str) { char[] c = str.toCharArray(); int lt = 0, rt = str.length()-..
StringBuilder란? StringBuilder 사용 방법
·
Language/Java
오늘 알고리즘을 공부하는 중에 StringBuilder를 사용하는것이 나와서 StringBuilder에 대해서 탐구해 보았습니다. StringBuilder를 사용하는 이유 자바에서는 문자열을 사용할 때 대개 String객체를 이용하게 된다. 이 String 객체를 덧셈 연산을 하게 되면 새로운 String 객체가 생성이 된다. String a = "abc" String b = "def" String c = a + b //abcdef String 객체는 한 번 생성되면 내용을 바꿀 수 없기때문에, 하나의 문자열을 다른 문자열과 연결하게 되는 순간 새로운 문자열 객체가 생성되게 되고, 이전 문자열은 가비지컬렉터로 들어가게 된다. 이런 String객체를 더하게 되면 객체가 생성되면서 메모리를 사용하게 되고, ..
단어 뒤집기(StringBuilder)
·
알고리즘
문제 첫줄에 자연수 N이 주어지고, 두번째 줄 부터 한줄에 하나의 단어가 N개씩 주어질때, 입력된 순서대로 단어의 알파벳을 뒤집어서 출력하세요 예시입력 3 good Time Big 예시 출력 doog emiT giB 문제 풀이 StringBuilder를 이용한 방법 import java.sql.Array; import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args){ Main main = new Main(); Scanner in=new Scanner(System.in); int n = in.nextInt(); //첫번째 줄의 숫자를 변수에 저장 String[] st..
알고리즘 - 문장 속 단어
·
알고리즘
문제 한 개의 문장속에서 가장 긴 단어를 추출하세요. 가장 긴 단어가 여려개일 경우, 가장 앞쪽에 위치한 단어가 답입니다. 예시입력 it is time to study 예시 출력 study 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args){ Main main = new Main(); Scanner in=new Scanner(System.in); String str = in.nextLine(); System.out.println(main.solution(str)); return ; } public String solution(String str) { String answer=""; String[..
알고리즘 - 대소문자 변환
·
알고리즘
문제 대문자와 소문자가 같이 존재하는 문자열을 입력받으면, 대문자 → 소문자, 소문자 → 대문자로 바꿔주세요 예시입력 StuDY 예시 출력 sTUdy 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args){ Main main = new Main(); Scanner in=new Scanner(System.in); String str = in.next(); System.out.println(main.solution(str)); return ; } public String solution(String str) { String s = ""; for (char c : str.toCharArray()){ if..
알고리즘 - 문자 찾기
·
알고리즘
설명 문자열 하나와, 특정 문자를 입력받아서 문자열 안에 특정문자가 몇개 존재하는지 알아보는 문제입니다. 대소문자 구분X 문자열은 영어 예시입력 Computercooler c 예시 출력 1 2 풀이 import java.util.Scanner; public class Main { public static void main(String[] args){ Main T = new Main(); //솔루션 메서드를 사용하기위해 Main 메서드를 생성 Scanner kb=new Scanner(System.in); String str = kb.next(); // String값 천제를 반환해줌 char c = kb.next().charAt(0); // char이기때문에 1개만 반환 해줌 System.out.printl..
스프링 시큐리티(2) - 사용자 정의 보안 기능 구현과 form 인증
·
Back-End/Spring Security
2023.02.26 - [Back-End/Spring Security] - 스프링 시큐리티(1) - 프로젝트 구성 및 의존성 추가 스프링 시큐리티(1) - 프로젝트 구성 및 의존성 추가 프로젝트 생성 이번 시큐리티를 학습하기 위해서 프로젝트를 생성 합니다. 자바 버전 - 11 의존성 - 스프링 부트 웹 프로젝트를 생성 한 후, 컨트롤러를 하나 생성해 줍니다. package io.security.basicsec scoring.tistory.com 인증 API - 사용자 정의 보안 기능 구현 WebSecurityConfigurerAdapter : 시큐리티의 기능 초기화 작업과 설정을 담당하는 클래스 HttpSecurity : 세부적인 보안 기능을 설정할 수 있는 API를 제공해준다. 이번 장에서는 Secur..
JPA 활용 - 변경 감지와 병합
·
Back-End/JPA
이전글 2023.02.28 - [Back-End/JPA] - JPA 활용 - 홈 화면과 회원등록 화면 계층 생성
JPA 활용 - 홈 화면과 회원등록 화면 계층 생성
·
Back-End/JPA
이전 글 2023.02.27 - [Back-End/JPA] - JPA활용 - 주문 검색 기능 개발(동적쿼리 사용) hr { margin: 30px 0; } /* Main marketing message and sign up button */ .jumbotron { text-align: center; border-bottom: 1px solid #e5e5e5; } .jumbotron .btn { font-size: 21px; padding: 14px 24px; } /* Supporting marketing content */ .marketing { margin: 40px 0; } .marketing p + h4 { margin-top: 28px; } /* Responsive: Portrait tablets..