🐰 전체 글
🚧
아무것도 없어요😢
-
[Java] 프로그래머스 : 기능개발🤔 문제 🔗 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 ..🎮 알고리즘2023.04.14
-
[Java] 프로그래머스 : 프린터🤔 문제 🔗 현재 실행 대기 큐(Queue)에 있는 프로세스의 중요도가 순서대로 담긴 배열 priorities와, 몇 번째로 실행되는지 알고싶은 프로세스의 위치를 알려주는 location이 매개변수로 주어질 때, 해당 프로세스가 몇 번째로 실행되는지 return 하도록 solution 함수를 작성해주세요. 👊 풀이과정 여러 문서의 인쇄 요청이 들어간 프린터에서 문서들의 중요도 배열과 특정 문서의 위치를 매개변수로 받아 문서의 인쇄 순서를 리턴하는 메소드를 작성한다. ⭐ LinkedList 기본적으로 프린터는 FIFO(First In First Out)를 채택하고 있으므로 큐를 구현한 LinkedList를 사용하였다. 문서의 순서와 중요도를 저장하기 위해 Document 클래스를 생성하였고, Documen..🎮 알고리즘2023.04.14
-
[Java] 프로그래머스 : 크레인 인형뽑기 게임🤔 문제 🔗 게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요. 🔑 풀이과정 N*N 크기의 정사각 격자에 인형이 들어있는 인형뽑기 게임이 있다. 사용자는 크레인을 통해 각 라인의 맨 위에 있는 인형을 뽑을 수 있으며, 뽑은 인형은 바구니로 들어간다. 바구니에 같은 인형이 연속으로 쌓이면 두 인형은 터지면서 바구니에서 사라진다. 이 게임에서 격자에 들어있는 인형의 상태가 담긴 2차원 배열 board와 크레인을 움직인 위치가 담긴 배열 moves가 매개변수로 주어질 때, 게임이 끝난 후 사라진 인형의 ..🎮 알고리즘2023.04.14
-
HTTP 메서드📁 HTTP 하이퍼 텍스트 전송 프로토콜 Hyper Text Transfer Protocol 서버와 클라이언트 사이에서 웹 문서를 주고받기 위해 사용하는 규칙 클라이언트가 요청(request)를 보내면 그에 대해 서버가 응답(response)하는 방식으로 이루어진다. 클라이언트가 보내는 건 요청 메세지이고, 서버가 보내는 것은 응답 메세지라고 한다. 메세지는 기본적으로 헤더(header)와 바디(body)로 구성된다. 헤더 : 본문 앞에 추가되는 데이터 바디 : 본문 데이터 📁 HTTP 메서드 클라이언트에서 서버에 보내는 요청 메세지를 전송하는 방법 HTTP는 리소스를 위주로 정의되어 있으며, 리소스는 각자 고유한 URL을 가지고 있다. 가령, 티스토리에서 카테고리에 있는 글 전체를 조회하는 URL은 m..🌐 웹2023.04.04
-
서블릿📁 서블릿 Servlet 서버 쪽에서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 기존 정적 웹프로그래밍의 단점을 보완하는 역할을 한다. 특징 객체지향 등 자바의 일반적인 특징을 모두 가진다. 일반 자바 프로그램과 달리 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다. 플랫폼 독립적으로 컨테이너 종류에 무관하게 실행된다. MVC패턴에서 컨트롤러로 이용된다. 📁 서블릿의 Life Cycle 클라이언트가 요청을 하면 WAS는 해당 서블릿이 메모리에 있는지 확인한다. 서블릿이 처음 실행되는 경우, 서블릿 클래스를 메모리에 올리고 init()을 호출해 초기화한다. service()를 호출해 서블릿이 요청을 처리하도록 한다. service()는 특정 HTTP ..🌐 웹2023.04.03
-
[Java] 프로그래머스 : 오픈채팅방🤔 문제 🔗 채팅방에 들어오고 나가거나, 닉네임을 변경한 기록이 담긴 문자열 배열 record가 매개변수로 주어질 때, 모든 기록이 처리된 후, 최종적으로 방을 개설한 사람이 보게 되는 메시지를 문자열 배열 형태로 return 하도록 solution 함수를 완성하라. 👊 풀이과정 채팅 참여자는 퇴장 후 재입장이 가능하며, 닉네임을 변경할 경우 이전 채팅 내역의 닉네임이 모두 수정되어야 한다. 따라서 채팅 참여자의 아이디, 닉네임, 상태(입장/퇴장) 정보를 저장할 컬렉션이 필요하다. 한편, 채팅 참여자의 닉네임은 중복될 수 있다. 그렇다면 여기서 참여자를 구분할 수 있는 방법은 아이디 뿐이다. 어떤 참여자가 닉네임을 변경했는지 빠르게 탐색하고 수정하기 위해 HashMap을 사용했다. key에는 아이디를, ..🎮 알고리즘2022.09.10
-
[SQL] SEQUENCE📁 SEQUENCE 순차적으로 정수값을 자동 생성하는 데이터베이스 객체 개발자를 대신하여 컴퓨터가 고유 식별자를 자동으로 생성해주는 것 CREATE SEQUENCE 시퀀스명 START WITH 시작값 INCREMENT BY 증가치 MAXVALUE 최대값 MINVALUE 최소값 CYCLE CACHE 사이즈; 1) 표현식 START WITH 처음 발생시킬 시작값. 명시하지 않을 시 1로 설정 INCREMENT BY 다음 값에 대한 증가치. 명시하지 않을 시 1로 설정 MAXVALUE 발생시킬 최대값. 명시하지 않을 시 최대치로 설정 MINVALUE 발생시킬 최소값. 명시하지 않을 시 1로 설정 CYCLE, NOCYCLE 시퀀스가 최대값으로 증가한 후 MINVALUE 값으로 돌아갈지 에러를 발생시킬지 설정. ..🗄 DB/📇 SQL2022.09.07
-
[SQL] VIEW📁 VIEW 오라클 객체의 한 종류 SELECT 쿼리의 결과로 나온 Result Set을 화면에 저장한 논리적 가상 테이블 실질적으로 데이터를 저장하진 않지만 사용자는 테이블과 동일하게 사용 가능 1) 권한 부여 GRANT CREATE VIEW TO 유저명; 2) 객체 생성 CREATE VIEW 뷰명 AS SELECT 컬럼명, 컬럼명 FROM 테이블명; 3) 동기화 VIEW의 동작 방법은 다음과 같다. 뷰가 저장되어 있는 USER_VIEWS 테이블에서 해당 뷰를 찾는다. TEXT 컬럼에 저장된 SELECT문을 실행하여 결과값을 내보낸다. 따라서 테이블을 변경하면 그 결과가 뷰에도 반영된다. CREATE VIEW V_MEMBER AS SELECT ID, PW, AUTHORITY FROM MEMBER; IN..🗄 DB/📇 SQL2022.09.07
-
[SQL] DML : INSERT, UPDATE, DELETE📁 INSERT 테이블에 새로운 행을 추가하는 구문 1) INSERT INTO 컬럼명 생략 컬럼의 순서를 아는 경우 INSERT INTO 테이블명 VALUES(데이터, 데이터, 데이터...); 컬럼 명시 컬럼의 순서, 데이터를 넣을 컬럼을 임의로 지정 INSERT INTO 테이블명(컬럼명, 컬럼명, 컬럼명) VALUES(컬럼명, 컬럼명, 컬럼명); 서브쿼리 사용 서브쿼리를 통해 조회한 열들을 테이블에 삽입할 수 있다. VALUES를 사용하지 않는다. INSERT INTO 테이블명(서브쿼리) INSERT INTO EMPLOYEE (SELECT * FROM EMPLOYEE WHERE SALARY>6000000) 2) INSERT ALL 한번에 여러 테이블에 행을 추가하는 구문 반드시 서브쿼리와 함께 사용해야..🗄 DB/📇 SQL2022.09.06
-
[SQL] DDL : ALTER📁 ALTER 객체를 수정하는 구문 ALTER을 통해 DDL을 진행하면 트렌젝션이 완료되기 때문에 ROLLBACK 불가능 📁 ALTER TABLE 테이블을 생성한 후 수정하는 구문 1) 컬럼 추가 ADD 자료형, 제약조건, 디폴트 순서를 지켜야 한다. ALTER TABLE 테이블명 ADD (컬럼명 자료형(크기) 제약조건 DEFAULT 디폴트값); ,를 통해 여러개의 컬럼을 추가할 수 있음 ALTER TABLE 테이블명 ADD (컬럼명 자료형 제약조건 DEFAULT 디폴트값, 컬럼명 자료형 제약조건 DEFAULT 디폴트값); 2) 컬럼 삭제 DROP COLUMN 테이블에는 하나 이상의 컬럼이 남아있어야 한다. ALTER TABLE 테이블명 DROP COLUMN 컬럼명; 여러개의 컬럼을 삭제할 시 ,를 구분..🗄 DB/📇 SQL2022.09.05