728x90

IT 50

Entity, VO, DTO의 차이점

각 클래스에 대하여 용어를 정리하고 정확하게 구분하여 사용해보자 Entity // RDB(Relational DataBase, 관계형 데이터베이스)에서의 Entity(개체)란, 현실세계에서의 개체를 표현하기 위한 유형, 무형의 실체로써, Entity를 표현하기 위해서 테이블을 생성한다. - Entity는 DB 테이블내에 존재하는 컬럼만을 속성(필드)로 가지는 클래스. id(pk)를 통하여 구분한다. ** 무분별한 @Setter사용 지양 - Setter 메서드는 update기능도 수행하기 때문에 사용의도를 파악하기 어렵다. - public으로 작성된 Setter메서드를통해 어디서든 접근이 가능하게 되어 의도치않은 변경이 발생할 수 있다. * @Setter를 대체하는 법 - @Builder를 통하여 객체값 ..

Study Record 2024.01.24

[백준-1434번] 책 정리

https://www.acmicpc.net/problem/1434 1434번: 책 정리 첫째 줄에 박스의 개수 N, 책의 개수 M이 주어진다. 둘째 줄에는 박스의 용량 A1, A2, ..., AN이 주어지고, 셋째 줄에는 B1, B2, ..., BM이 주어진다. www.acmicpc.net N, M = map(int, input().split()) box = list(map(int, input().split())) book = list(map(int, input().split())) idx = 0 # 박스 번호 for b in book: # 책이 박스에 들어갈 때까지 박스 교체 while True: # 책이 박스에 들어감 if b

Python 2023.11.17

[프로그래머스 - LV1] 자동차 대여 기록에서 장기/단기 대여 구분하기

https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE,'%Y-%m-%d') AS START_DATE , DATE_FORMAT(END_DATE,'%Y-%m-%d') AS END_DATE, CASE WHEN ABS(DATEDIFF(START_DATE,END_DATE))+1 >= 30 THEN '장기 대여' ELSE '단기 대여' END AS RENT_TYPE FR..

MySQL 2023.11.14

[프로그래머스 - LV1] 특정 옵션이 포함된 자동차 리스트 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/157343#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC LIKE !!!

MySQL 2023.11.13

[백준-1371번] 가장 많은 글자

https://www.acmicpc.net/problem/1371 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이 www.acmicpc.net word = [0 for i in range(26)] while True: try: inStr = str(input()) for s in inStr: if s.islower(): word[ord(s)-97] += 1 except EOFError: break for i in range(26): if word[i] == max(word): print(chr(i + 97), end='') imp..

Python 2023.11.13

[백준-1075번] 나누기

https://www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net 나의 풀이. N=list(input()) F=int(input()) N[-2]='0' N[-1]='0' N=int(''.join(N)) while N%F!=0: N+=1 ans=str(N) print(ans[-2]+ans[-1]) 뒷자리 2개를 0으로 바꾼다음 join함수를 써서 붙이고 정수로 만들었다... 문제는 풀었지만 과정이 좀 난잡한것같다.....ㅠㅠ n = input()[:-2] m = int(input()) for ..

Python 2023.11.13

[백준-28114번] 팀명 정하기

https://www.acmicpc.net/problem/28114 28114번: 팀명 정하기 첫째 줄에 첫 번째 팀원이 백준 온라인 저지에서 해결한 문제의 개수 $P_1$, 입학 연도 $Y_1$, 성씨 $S_1$이 공백으로 구분되어 주어진다. 둘째 줄과 셋째 줄에는 두 번째 팀원의 정보 $P_2,Y_2,S_2$와 세 www.acmicpc.net 문제 성서의 가이드라인에 따르면 팀 이름을 짓는 방법은 두 가지가 있다. 세 참가자의 입학 연도를 100으로 나눈 나머지를 오름차순으로 정렬해서 이어 붙인 문자열 세 참가자 중 성씨를 영문으로 표기했을 때의 첫 글자를 백준 온라인 저지에서 해결한 문제가 많은 사람부터 차례대로 나열한 문자열 입력 예제 입력 1 600 2018 AHN 2000 2019 LEE 60..

Python 2023.11.10

[백준-29722번] 브실혜성

https://www.acmicpc.net/problem/29722 29722번: 브실혜성 혜성처럼 나타난 브실컵의 아이돌 브실이를 보기 위해 전국 각지의 사람들이 천문대로 모였다. 브실이에게 "혜성처럼 나타난" 이라는 수식어가 붙은 이유는 혜성처럼 주기적으로 관측할 수 있 www.acmicpc.net 문제 혜성처럼 나타난 브실컵의 아이돌 브실이를 보기 위해 전국 각지의 사람들이 천문대로 모였다. 브실이에게 "혜성처럼 나타난" 이라는 수식어가 붙은 이유는 혜성처럼 주기적으로 관측할 수 있기 때문이라고 한다. 오늘 브실이를 볼 수 있다고 할 때, 브실이를 다시 볼 수 있는 날짜를 구하자. 편의를 위해 이 문제에서 한 달은 30일, 1년은 12달(즉, 1년은 360일)로 가정하자. 입력 첫 번째 줄에 오늘 ..

Python 2023.11.10

[프로그래머스-LV 1] 과일로 만든 아이스크림 고르기

https://school.programmers.co.kr/learn/courses/30/lessons/133025 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요. 예시 예를 들어 FIRST_HALF 테이블이 다음과 같고 ICECREAM_INFO 테이블이 다음과 같다면 결과는 나의 풀이. SELECT F.FLAVOR FROM FIRST_HALF F JOIN ICECREAM_INFO I ON F...

MySQL 2023.11.08

[프로그래머스-LV1] 흉부외과 또는 일반외과 의사 목록 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/132203#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요. 나의 풀이 SELECT DR_NAME, DR_ID, MCDP_CD, HIRE_YMD('%Y-%m-%d') FROM DOCTOR..

MySQL 2023.11.08
728x90