전체 글 120

[MySQL] MySQL NULL 처리 - IFNULL, CASE, COALESCE

https://velog.io/@gillog/DB-MySQL-NULL-%EC%B2%98%EB%A6%ACIFNULL-CASE-COALESCE [DB] MySQL NULL 처리(IFNULL, CASE, COALESCE) MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있 velog.io ✅ IFNULL 해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력 할 수 있도록 하는 함수 📌 IFNULL SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명; -- NA..

Database/SQL 2022.11.21

[프로그래머스-그리디] 체육복 JAVA 자바

https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👉 풀이 최대한 많은 학생이 체육 수업을 듣게 하기 위해서는 적은 번호를 가진 학생끼리 먼저 체육복을 빌려주고 빌려야 한다. 따라서 lost, reserve 배열 오름차순 정렬한다. 정렬 후 체육복을 빌려주기 위해 배열 탐색 탐색 전 여분의 체육복이 있는 사람의 체육복이 도난 당했을 경우, 여분의 체육복을 다른 사람에게 빌려줄 수 없으므로 -1 값을 대입해 필터링한다. lost와 reserve를 ..

[프로그래머스-그리디] 구명보트 JAVA 자바

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👉 풀이 구명보트를 최대한 적게 사용할려면 가장 몸무게가 큰 사람 + 가장 몸무게가 작은 사람 조합이어야 한다. (보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없다는 제한이 있다) public int solution(int[] people, int limit) { int answer = 0; Arrays.sort(people); int length = people.length; int min_..

[HTTP 웹 기본 지식] 섹션8. HTTP 헤더2 캐시와 조건부 요청

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 요약한 내용입니다. ✅ 캐시 📌 캐시가 없을 때 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야함 인터넷 네트워크는 매우 느리고 비쌈 브라우저 로딩 속도가 느림 느린 사용자 경험 📌 캐시 적용 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 비싼 네트워크 사용량을 줄일 수 있음 브라우저 로딩 속도가 빠름 빠른 사용자 경험 📌 캐시 시간 초과 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고 캐시를 갱신한다. 네트워크 다운로드 발생 ✅ 검증 헤더와 조건부 요청 📌 검증 헤더 Last-Modified & 조건부 요청 if-modified-since 사용 첫번째 요청시 서버는 클..

Web 2022.11.20

[HTTP 웹 기본 지식] 섹션7. HTTP 헤더1 일반 헤더

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 요약한 내용입니다. ✅ HTTP 헤더 header-field = field-name ":" OWS field-value OWS (OWS:띄어쓰기 허용) HTTP 전송에 필ㅇ한 모든 부가정보 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 필요시 임의의 헤더 추가 가능 📌 과거 RFC2616 General 헤더: 메시지 전체에 적용되는 정보 Request 헤더: 요청 정보 Response 헤더: 응답 정보 Entity 헤더: 엔티티 바디 정보, 예) Content-Type: text/html, Content-Length: 3423 message body 엔티티 본문(entit..

Web 2022.11.19

[백준-그리디] 13305: 주유소 JAVA 자바

https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 👉 풀이 비용이 적은 곳에서 최대한 많이 주유하면 된다. 첫번째 도시에서는 적어도 두번째 도시까지 거리만큼은 주유해야한다. 초기 최소가격은 첫번째 도시에서의 주유가격이 된다. 두번째 도시부터 도시를 이동해가면서 주유가격이 현재 최소 가격보다 작으면 최소가격을 갱신해가면서, (현재 도시에서 다음 도시까지 거리) * 최소 주유 가격 을 더해나간다. N(2 ≤ N ≤ 100,000) 이므..

[백준-그리디] 11399: ATM JAVA 자바

https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 👉 풀이 각 사람이 돈을 인출하는데 필요한 시간은 그 사람의 앞 사람들이 돈을 인출하는데 걸리는 시간의 누적합이다. 따라서 돈을 인출하는데 걸리는 시간이 적은 사람부터 돈을 인출하면, 각 사람이 돈을 인출하는데 필요한 시간의 합이 최소가 된다. 1 ~ N 번까지 사람을 돈을 인출하는데 걸리는 시간이 적은 사람부터 정렬 누적합을 계속 더해간다. import java.io.BufferedReader; import java.io.I..

[백준 - 그리디] 1541: 잃어번린 괄호 JAVA 자바

https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 👉 풀이 최솟값을 만들기 위해서는 큰수를 빼주어야한다 => 덧셈으로 이루어진 부분을 먼저 계산한뒤 덧셈결과를 빼준다. 뺄셈이 덧셈보다 뒤에 있는 경우 먼저하고 더하나 더하고 빼나 똑같음 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.String..

[백준-그리디] 1931: 회의실 배정 JAVA 자바

https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 👉 '활동 선택 문제(Activity Selection problem) 시간표를 최대한 많이 배정하거나 선택하는 문제 한 사람이 하나의 활동에 대해서만 작업할 수 있을 때 최대한 많은 활동을 할 수 있는 수를 선택하는 문제 '한 사람이 하나의 활동에 대해서만 작업할 수 있다.' 하나의 활동을 완료하기 전까지는 다른 활동을 선택할 수 없다. 하나의 활동을 선택하면 나머지 겹치지 않는 활동에 대해서 독립적이고, 탐욕 선택 이후의 결과에 영향을 미치지 않는다. 👉 풀이 '이전 선택의 종료 시간' 과 '이후 선택의 시작..

[HTTP 웹 기본 지식] 섹션6. HTTP 상태코드

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 요약한 내용입니다. ✅ 1xx (Informational) 요청이 수신되어 처리중. 거의 사용하지 않음 ✅ 2xx (Successful) 클라이언트의 요청을 성공적으로 처리 📌 200 OK 요청 성공 📌 201 Created 요청 성공해서 새로운 리소스가 생성됨 생성된 리소스는 응답의 Location 헤더 필드로 식별할 수 있다. 📌 202 Accepted 요청이 접수되었으나 처리가 완료되지 않았음 배치 처리 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리 📌 204 No Content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 Save 버튼 ✅ 3xx (Redirection) 웹 브라..

Web 2022.11.18