전체 글 325

[프로그래머스 / Java] Lv.1 카드 뭉치

Question https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm주어진 배열 cards1과 cards2는 0번 인덱스부터 차례대로 사용해야 하므로, 현재 위치를 가리킬 변수를 각각 선언한다.goal 배열을 순서대로 순회하면서, 현재 문자열이 cards1[c1] 혹은 cards2[c2]와 일치하는지 비교한다.일치한다면 해당 배열의 인덱스 변수를 하나 증가시켜 다음 요소를 가리키게 한다.어느 쪽과도 일치하지 않으면 더 이상 goal을 만들 수 없으므로 "No"를 반환한다.끝까지 순회하며 ..

[프로그래머스 / Java] Lv.1 명예의 전당(1)

Question https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm일차별로 최소값을 구해야하므로, score의 길이만큼 answer 배열을 선언한다.ArrayList를 활용해 k - 1번째 인덱스까지는 명예의 전당 rank에 저장한다.List의 Collenctions.min() 메서드를 사용해 최소값을 쉽게 구할 수 있다.k번째 인덱스 부터는 저장된 명예의 전당 배열의 최솟값과 비교하여 작다면, 최솟값과 교체하여 저장한다.기록된 rank에서 최소값을 차례대로 answer에 저장한다.Co..

[네트워크] 5-7. 프록시와 안정적인 트래픽

프록시와 안정적인 트래픽 실제 웹 서비스 환경에서는 수천, 수만 명의 클라이언트가 동시에 요청을 보낸다. 단순한 클라이언트와 서버 사이의 1:1 연결 구조 만으로는 이러한 대규모 요청을 안정적으로 처리하기 어렵다. 따라서 서버와 클라이언트 사이에 중간 계층을 두어 트래픽, 즉 요청과 응답의 흐름을 효율적으로 분산·관리할 필요가 있다. 이 중간 계층은 서버의 과부하를 줄이고, 장애 발생 시 서비스가 중단되지 않도록 하며, 보안이나 성능 최적화까지 담당한다. 트래픽을 관리하는 방법을 이해하기 위해 우리는 오리진 서버와 중간 서버의 개념을 시작으로, 프록시와 게이트웨이가 어떤 역할을 하는지, 또 로드 밸런싱과 스케일링을 통해 서버 자원을 어떻게 안정적으로 운영·확장하는지를 차례대로 살펴보자.오리진 서버와 중..

[프로그래머스 / Java] Lv.1 문자열 내 마음대로 정렬하기

Question https://school.programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 | 프로그래머스 스쿨개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!school.programmers.co.krAlgorithmArrays.sort() 메서드를 사용해 오름차순 정렬할 수 있게 기존 strings 배열의 각 데이터 맨 앞에 n번째 인덱스에 해당하는 문자(char)를 붙여준다.Arrays.sort()는 배열 요소를 기본 정렬 규칙(숫자는 크기, 문자열은 사전순)에 따라 오름차순으로 정렬한다.Arrays.sort() 메서드로 오름차순 정..

[프로그래머스 / Java] Lv.1 콜라 문제 (업데이트 중..)

Question https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm Codeclass Solution { public int solution(int a, int b, int n) { int answer = 0; // 교환 후 받은 콜라 int exchange = 0; // 남은병 int rest = 0; while(rest >= a) { exch..

[프로그래머스 / Java] Lv.1 K번째수 (업데이트 중..)

Question https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithmcommands 열 길이 만큼의 배열 크기를 선언해준다.Codeimport java.util.Arrays;class Solution { public int[] solution(int[] array, int[][] commands) { // 결과를 담을 answer 배열 int[] answer = new int[commands.length]; // i, j, k를 담은 배열 순회 ..

[BAEKJOON / Java] 1244. 스위치 켜고 끄기 (업데이트 중..)

Question https://www.acmicpc.net/problem/1244Algorithm와 어렵네Codeimport java.io.*;import java.util.*;public class Main { public static final int MAN = 1; // 남학생을 나타내는 상수 public static final int WOMAN = 2; // 여학생을 나타내는 상수 public static void main(String[] args) throws IOException { // // BufferedReader: 표준 입력(System.in)으로부터 한 줄씩 빠르게 읽기 BufferedReader br = new BufferedReader(ne..

[네트워크] 5-6. (1) 응용 계층 - HTTP의 응용 (업데이트 중..)

쿠키(Cookie) 💡쿠키(Cookie)서버가 생성하여 브라우저(클라이언트)에 저장시키는 '이름=값' 형태의 작은 데이터 💡쿠키(Cookie)가 필요한 이유HTTP는 기본적으로 무상태(stateless) 프로토콜이기 때문에 각 요청(request)과 응답(response)은 독립적이고, 서버가 기본적으로 클라이언트의 이전 요청이나 상태를 저장하지 않는다.그러나 웹 서비스(응용 계층) 사용자별 상태를 유지해야하는 경우가 있다.인증/로그인 상태 유지사용자 맞춤 기능 제공장바구니클릭한 뉴스피드 추천다크모드 설정 등그래서 등장한 것이 쿠키(cookie)서버가 응답 헤더로 작은 데이터를 내려주면, 브라우저가 저장해 두었다가 해당 서버로 다시 요청할 때 자동으로 보내 줌결과 : 무상태인 HTTP 위에서 세션 유..

[프로그래머스 / Java] Lv.2 행렬의 곱셈

Question https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm2차원 행렬 arr1과 arr2를 곱할 때, 행렬 곱셈 규칙은, arr1의 행 × arr2의 열한 값을 더하는 것 예를 들어, 아래와 같이 2차원 배열 arr1과 arr2가 주어졌다면 arr1 → [[1, 2], [3, 4], [5, 6]]arr2 → [[7, 8], [9, 10]]arr1의 첫 번째 행 [1, 2]를 arr2의 첫 번째 열 7, 9와 곱해서 더하고, 두 번째 열 8, 10과 곱해서 더한 값을 반환한다.첫 ..

[프로그래머스 / Java] Lv.2 영어 끝말잇기

Question https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krCode 🔎 처음 풀이한 코드class Solution { public int[] solution(int n, String[] words) { int[] answer = new int[2]; for(int i = 0; i 💡Algorithm이중 for문을 활용하여 중복된 단어를 말한 사람 or 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말하지 않은 사람을 찾아낸다.이전에 등장했던 ..