COALESCE
·
SQL 정리
COALESCE 함수는 SQL에서 매우 유용한 함수로, 여러 값 중에서 NULL이 아닌 첫 번째 값을 반환하는 데 사용됩니다. 기본적으로 COALESCE는 여러 인수를 받아, 가장 먼저 NULL이 아닌 값을 찾을 때까지 인수들을 순차적으로 검사합니다.기본 구문 COALESCE(expression1, expression2, ..., expressionN)expression1, expression2, ..., expressionN: 검사할 값들입니다. 이들 중 첫 번째로 NULL이 아닌 값을 반환합니다.예제단일 값 처리:이 쿼리는 'Hello'를 반환합니다. 왜냐하면 NULL이 아닌 첫 번째 값이 'Hello'이기 때문입니다.SELECT COALESCE(NULL, NULL, 'Hello', 'World') ..
시간대를 나누는 쿼리
·
SQL 정리
문제 설명ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSENAMEVARCHAR(N)TRUESEX_UPON_OUTCOMEVARCHAR(N)FALSE보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했..
KPT회고(수강생 관리 프로그램)
·
미니 프로젝트/수강생 관리 프로그램(Java)
Keep - 현재 만족하고 있는 부분👍 회의를 통한 프로젝트 기획개인 개발은 회의를 통한 기획 이라는 단계가 존재하지 않는다. 스스로 요구사항을 분석하고, 그를 토대로 개발을 진행하기 때문에 자기 주관적인 생각만을 이용해서 작업을 진행한다. 하지만 이런 특성이 팀 개발에서도 이어질 수 있다. 팀원들이 매우 소극적인 경우 팀장의 주도하에 개발을 진행하면 팀장의 생각대로만 개발이 행해지는 경우도 있는데, 본 프로젝트의 경우 모두가 의견을 제시해서 각자의 의견중 타당한 부분을 채택해 개발을 진행했다. 이 부분이 팀 프로젝트의 장점을 살린거 같아서 만족스럽다. 👍 정기적 회의로 상황 공유 및 코드리뷰업무를 분담하고 기능을 구현할때 까지 개발만 진행하면, 같은 객체를 이용해서 다른 기능을 구현하는 사람과 메소..
둘만의 암호
·
(Java)코테연습
문제 설명두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.skip에 있는 알파벳은 제외하고 건너뜁니다.예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위 규칙대로 ..
대충 만든 자판
·
(Java)코테연습
문제 설명휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다.예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다.같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다. 심..
수강생 관리 시스템 마지막 수정
·
미니 프로젝트/수강생 관리 프로그램(Java)
우리팀이 static을 이용해 각각의 기능을 모듈화로 초점을 두었기에 객체지향의 느낌과는 거리가 멀었다 그래서 Molde과 View 두가지로 구분하여 객체를 나누기로 했다. 갑작스럽게 객체지향이라는 초점이 맞추기 위해서 기존 클래스들을 대폭 수정해야 하거나 일부분은 merge를 해야해서 쉬운 일이 아니였다. 그래도 일단 시작은 해봐야하기 때문에 어떻게 나눌지부터 우선순위로 정하였다. 일단 첫 부분으로 패키지를 나누는 작업, model(점수, 수강생, 과목을 각각 map에 저장), Management(비즈니스 로직), display(사용자 메뉴 제공)로 3개의 패키지로 나누었으며 밑글에서 보다 자세한 설명으로 다룰것이다. 패키지 구조camp.model:목적: 프로젝트의 핵심 데이터 모델을 정의하는 패키지입..
수강생 시스템 알고리즘
·
미니 프로젝트/수강생 관리 프로그램(Java)
해당 블로그에 알고리즘 png을 업로드 하였지만 사진이 매끄럽게 나오지 않는다. 좀 더 깨끗이 자세히 보고 싶다면 밑에 있는 자바스크립트 사이트로 접속하면 된다. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ..
체육복
·
(Java)코테연습
문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작..
git pull을 해야하는데 오류가 난다면?
·
GitHub 오류 및 명령어 정리
git pull을 해야 하는데 오류가 발생한다면 밑에 3가지 깃 명령어를 사용하여 해결이 가능하다. 이 명령어들은 Git을 사용하여 원격 저장소의 main 브랜치와 로컬 저장소를 동기화하는 데 사용됩니다. 각 명령어의 역할은 다음과 같습니다:git fetch --all설명: 이 명령어는 원격 저장소에서 모든 브랜치의 최신 상태를 로컬로 가져옵니다. 하지만, 로컬 브랜치에는 아무런 영향을 미치지 않고, 단지 원격 브랜치의 최신 상태를 업데이트합니다.용도: 원격 저장소에서의 모든 업데이트를 확인하고 싶을 때 사용합니다. 이 명령어를 실행하면 원격 브랜치의 변경 사항이 로컬의 원격 추적 브랜치에 반영됩니다. git reset --hard origin/main설명: 이 명령어는 현재 로컬 브랜치를 원격 저장소의..
오프라인/온라인 판매 데이터 통합하기(IFNULL, UNION)
·
SQL 정리
문제 설명다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다.Column nameTypeNullableONLINE_SALE_IDINTEGERFALSEUSER_IDINTEGERFALSEPRODUCT_IDINTEGERFALSESALES_AMOUNTINTEGERFALSESALES_DATEDATEFALSE동일한 날짜, 회원 ID, 상품 ID 조합에 대해..