분류 전체보기

https://www.acmicpc.net/problem/1316실버5 - 구현1. 문제그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다.단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.2. 아이디어1) 알파벳 갯수만큼 [0]*26 길이의 리스트를 만든다.2) 문자의 아스키코드를 활용해서 이전에 나왔던 알파벳인지 확인한다.-> 비효율적이고 좀 억지스러운 부분이 있음3. 코드✅내가 푼 코드n = int(input())wo..
https://www.acmicpc.net/problem/1268실버 5 / 구현1. 문제학생 수는 3~1000명반은 1~9반1학년부터 5학년까지 같은 반이었던 사람이 가장 많은 사람을 찾아야한다.동점이라면 앞 번호를 출력한다.2. 아이디어1) 같은 반이었던 학생이 중복되면 안된다. 예를 들어, 1번과 2번 학생이 1~5학년 때까지 항상 같은 반이었다면 한 번만 카운트를 해야한다.2) 반의 수가 1~9인데, 반이 몇 반까지 있냐는 문제 풀이에 중요하지 않다. 같은 반이었냐가 중요한 것.3) 학생이 1번부터 차례대로 있는 걸보면, 인덱스로 활용할 수 있겠다.3) 동점이 나오면 앞 번호를 출력해야하는데, 최솟값을 찾을 필요없다. index()를 쓰면 제일 앞 인덱스를 출력한다. 처음에 학생이 중복되면 안되고..
⭐벌크 연산- UPDATE, DELETE를 실행할 때, 쿼리 한 번으로 여러 테이블 로우를 변경하는 것- 하이버네이트에서 INSERT를 지원함. 100명의 Member의 나이를 일괄적으로 변경한다고 해보자.두 가지 방법으로 엔티티의 속성을 변경할 수 있다. 1. (벌크 연산X) - JPA 변경 감지 기능으로 엔티티 속성 변경 String jpql = "SELECT m FROM Member m";List members = em.createQuery(jpql, Member.class).getResultList();// 2. 엔티티 속성 변경for (Member member : members) { member.setAge(20);} 이 경우, 멤버가 100명이면 100번의 UPDATE 쿼리가 실행된다.비..
페치조인을 공부하기 전에 즉시로딩, 지연로딩의 개념을 먼저 복습하자! JPA 기본 | 즉시 로딩과 지연 로딩즉시 로딩과 지연 로딩을 이해하기 위해 프록시 개념을 먼저 이해해야한다. JPA 기본 | 프록시 (즉시 로딩, 지연 로딩을 이해하기 위한)1. 프록시란?JPA에서 연관된 엔티티를 지연 로딩하기 위해ururuwave.tistory.com1. 페치 조인이란?- JPQL에서 'join fetch' 을 사용하여 연관된 엔티티나 컬렉션을 한번에! 함께! 로딩하는 것.- 필요한 경우에만 연관된 데이터를 로딩하여 성능을 최적화할 수 있다.- 문법 : [LEFT [OUTER] | INNER ] JOIN FETCH 대괄호 안은 생략 가능하나, 생략하면 기본적으로 INNER로 동작한다. 2. 페치조인 사용법예제의 M..
1. 경로표현식점을 찍어 그래프를 탐색하는 것ex) select m.username from Member m경로 표현식에는 상태 필드, 단일 값 연관 필드, 컬렉션 값 연관 필드가 있다. 2. 상태 필드상태 필드란, 단순히 값을 저장하기 위한 필드다.(ex. m.username ) 오늘 예시로 사용할 Member 엔티티와 Team 엔티티다. ✅Member 엔티티@Entity@Getter@Setterpublic class Member { @Id @GeneratedValue private Long id; private String username; private int age; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "..
JPQL 기본 함수문자열, 숫자, 컬렉션 등의 처리를 돕는 함수다. ✔️CONCAT두 개 이상의 문자열을 연결한다.SELECT CONCAT(m.firstName, ' ', m.lastName) FROM Member m  ✔️SUBSTRING문자열 일부를 추출한다.SELECT SUBSTRING(m.username, 1, 3) FROM Member m첫번째부터 세글자를 잘라낸다. ✔️TRIM문자열 앞,뒤 공백을 제거한다.SELECT TRIM(m.nickname) FROM Member m ✔️LOWER문자열을 소문자로 변환한다.SELECT LOWER(m.email) FROM Member m ✔️UPPER문자열을 대문자로 변환한다.SELECT UPPER(m.username) FROM Member m ✔️LENG..
1. CASE WHENSQL 문법과 동일하다. ✅예시String query = "select " + "case when m.age =60 then '경로요금' " + " else '일반요금' " + "end " + "from Member m";CASE WHEN 문법이 SQL과 동일해서 예시만 쓰고 넘어간다..(*JPQL은 문자열로 쿼리를 작성해서 문자열을 합치기 때문에 공백을 신경써줘야된다.) 2. COALESCE하나씩 조회해서 NULL이 아니면 반환하고 NULL이면 다음 인수를 반환한다.이 함수는 표준 SQL 함수다.코우얼레스,,,빨리 발음하면 '코올레스'로 읽으면 된다. ✅예시(1)sel..
1. ENUM 타입 표현ENUM 타입을 표현할 때 , '패키지명.ENUM클래스명.ENUM' 으로 표현한다.MemberType에 ADMIN, USER가 있다.MemberType이 ADMIN인 멤버를 조회해보자.  ✅MemberType public enum MemberType { ADMIN,USER} ✅ENUM 타입 표현(1)String query = "select m.username from Member m " + "where m.type = jpql.MemberType.ADMIN";List result = em.createQuery(query, Object[].class) .getResultList();- jpql이라는 패키지에 MemberType 이라는 EN..
백엔드 개발자 - 젤리곰
'분류 전체보기' 카테고리의 글 목록 (3 Page)