분류 전체보기 645

Stack

순차적으로 데이터를 추가하고 삭제하는 스택은 ArrayList와 같은 배열기반의 컬렉션 클래스가 적합하다. import java.util.*; Stack stack=new Stack(); 스택 생성 메서드 설명 boolean empty() stack이 비어있는지 알려줌 Object peek() Stack의 맨 위에 저장된 객체를 반환(삭제 없이) Object pop() Stack의 맨 위에 저장된 객체를 꺼냄(삭제) Object push(Object item) Stack에 객체(item)를 저장 int search(Object o) 객체(o)를 찾아서 그 위치를 반환(1부터 시작) 못찾으면 -1 반환 참고 👉 자바의 정석 3판

JAVA 2021.07.08

[Error] "Request method 'GET' not supported"

게시글 삭제 버튼을 클릭하면 "Request method 'GET' not supported"가 떴다. @DeleteMapping을 사용하려고 했는데 이런 에러가 떴다. @GetMapping으로 바꾸면 에러가 사라지지만, @DeleteMapping을 쓰고 싶어서 방법을 찾아봤다. spring.mvc.hiddenmethod.filter.enabled=true application.properties에 추가한다. // 삭제 @DeleteMapping("/post/delete/{id}") public String delete(@PathVariable("id") Long id) { postService.deletePost(id); return "redirect:/"; } 컨트롤러 삭제 th:method="del..

transaction

트랜잭션(transaction)은 DBMS가 데이터베이스를 다룰 때 사용하는 작업(프로그램)의 단위 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위가 됨. 또한, 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때 이 작업을 서로 분리하는 단위이기도 함. 트랜잭션은 전체 수행되거나 전혀 수행되지 않아야 한다. 💙 트랜잭션의 4가지 성질(ACID) 1. 원자성(Atomicity) : 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않아야 함 2. 일관성(Consistency) : 트랜잭션을 수행하기 전이나 후나 데이터베이스는 항상 일관된 상태를 유지해야 함 3. 고립성(Isolation) : 수행 중인 트랜잭션에 다른 트랜잭션이 끼어들어 변경 중인 데이터 값을 훼손하는 일이 없어야 함 4...

DB 2021.07.06

String

String 클래스는 char배열에 메서드를 추가한 것이다. 한 번 생성된 String인스턴스가 갖고 있는 문자열은 읽어 올 수만 있고, 변경할 수는 없다. '+'를 사용해서 문자열을 결합하는 것은 매 연산 시 마다 새로운 문자열을 가진 String인스턴스가 생성된다. 문자열간의 결합이나 추출 등 문자열을 다루는 작업이 많이 필요한 경우에는 StringBuffer클래스를 사용하는 것이 좋다. StringBuffer인스턴스에 저장된 문자열은 변경이 가능함. 💜 문자열 생성 1. 문자열 리터럴 지정 String str="abc"; 2. String클래스의 생성자를 사용 String str=new String("abc"); 3. 빈 문자열로 초기화 String s=""; 생성자 설명 예제 결과 String(S..

JAVA 2021.07.06

버퍼 입출력

버퍼는 일시적으로 데이터를 보관하는 메모리 영역 import java.io.*; 이 패키지를 import해주었다. 📌 입력 BufferedReader는 버퍼를 이용해서 입출력의 효율을 높일 수 있도록 해주는 역할을 한다. BufferedReader의 readLine()을 사용하면 데이터를 라인단위로 읽을 수 있다. 메소드에 throws IOException을 넣어 에러를 막자. InputStreamReader는 바이트기반 스트림을 문자기반 스트림으로 연결시켜주는 역할 그리고 바이트기반 스트림의 데이터를 지정된 인코딩의 문자데이터로 변환하는 작업을 수행 생성자/메서드 설명 InputStreamReader(InputStream in) OS에서 사용하는 기본 인코딩의 문자로 변환하는 InputStreamRea..

JAVA 2021.07.05

[Java] 2003. 수들의 합 2

문제 N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 입력 1 4 2 1 1 1 1 예제 출력 1 3 예제 입력 2 10 5 1 2 3 4 2 5 3 1 1 2 예제 출력 2 3 💚 나의 풀이 import java.io.*; public class ..

coding test 2021.07.05

[Java] 베스트앨범

문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유번호가 i인 노래의 장르입니다. plays[i]는 고유번호가 i인 노래가 재생된 횟수입니..

coding test 2021.07.02

HashMap

키와 값을 묶어서 하나의 데이터로 저장한다. 키와 값을 각각 Object타입으로 저장 값은 키와 달리 중복을 허용 해싱을 사용해서 많은 양의 데이터를 검색하는데 뛰어난 성능 {key=값, ..} 형태로 저장 생성자/메서드 설명 HashMap() HashMap객체 생성 HashMap(int initialCapacity) 지정된 값을 초기용량으로 하는 HashMap 객체 생성 boolean containsKey(Object key) HashMap에 지정된 키가 포함되어있으면 true boolean contiansValue(Object Value) HashMap에 지정된 값이 포함되어있으면 true Object get(Object key) 지정된 키의 값을 반환 Object getOrDefault(Object..

JAVA 2021.07.02

없어진 기록 찾기

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

coding test/SQL 2021.06.29