전체 글
🚧
아무것도 없어요😢
-
[Java] 프로그래머스 : 신규 아이디 추천🤔 문제 🔗 신규 유저가 입력한 아이디를 나타내는 new_id가 매개변수로 주어질 때, "네오"가 설계한 7단계의 처리 과정을 거친 후의 추천 아이디를 return 하도록 solution 함수를 완성해 주세요. 제한사항 new_id는 길이 1 이상 1,000 이하인 문자열입니다. new_id는 알파벳 대문자, 알파벳 소문자, 숫자, 특수문자로 구성되어 있습니다. new_id에 나타날 수 있는 특수문자는 -_.~!@#$%^&*()=+[{]}:?,/ 로 한정됩니다. 👊 풀이과정 매개변수로 아이디가 들어오면 다음 조건에 맞게 아이디를 변경해 리턴하는 메서드를 작성해야 한다. String answer = new_id.toLowerCase() .replaceAll("[^a-z0-9._-]","")// 사용불가문자..🎮 알고리즘2023.04.14
-
[Java] 프로그래머스 : 징검다리 건너기🤔 문제 🔗 디딤돌에 적힌 숫자가 순서대로 담긴 배열 stones와 한 번에 건너뛸 수 있는 디딤돌의 최대 칸수 k가 매개변수로 주어질 때, 최대 몇 명까지 징검다리를 건널 수 있는지 return 하도록 solution 함수를 완성해주세요. 👊 풀이과정 징검다리에서 각 디딤돌의 밟을 수 있는 횟수가 담긴 배열 stones와 한번에 건너뛸 수 있는 디딤돌의 최대 칸수 k가 주어졌을 때, 징검다리를 건널 수 있는 친구는 몇 명인지 구하는 프로그램을 작성한다. 이 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제다. 당시 플그에서 처음 풀어본 효율성 테스트 문제라 힘들었다... 👆 효율성을 배제한 풀이 public static int solution(int[] stones, int k) { int answ..🎮 알고리즘2023.04.14
-
[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