분류 전체보기
-
99클럽 코테 스터디 34일차 TIL / 여행 경로(프로그래머스)Study(진행중)/항해99 2024. 8. 25. 02:26
오늘의 학습 키워드 - 알고리즘 - 구현 - dfs공부한 내용 본인의 언어로 정리하기https://school.programmers.co.kr/learn/courses/30/lessons/43164조금 까다롭게 문자열을 다뤄야 하는 dfs 문제를 풀었다. 풀이 과정은 다음과 같다.1. 티켓을 모두 사용해야 하므로 dfs에서 방문 처리는 티켓의 인덱스로 사용2. dfs 로직을 돌며 만약 깊이가 티켓과 동일하다면 해당 여행 경로를 list에 추가3. 알파벳 순으로 가장 먼저 나오는 경로를 사용해야 하므로 리스트를 정렬하여 0번째 인덱스 값 반환 풀이는 다음과 같다.import java.util.*;class Solution { int ticketLen; String[][] tic..
-
99클럽 코테 스터디 33일차 TIL / 단어 변환(프로그래머스)Study(진행중)/항해99 2024. 8. 24. 02:37
오늘의 학습 키워드 - 알고리즘 - 구현 - DFS공부한 내용 본인의 언어로 정리하기https://school.programmers.co.kr/learn/courses/30/lessons/43163문자열들이 주어졌을 때 처음 문자열에서 한 글자 씩 변경하여 제공된 다른 문자열로 바꾸고,이 과정을 목표 문자열까지 반복하는 문제이다. 풀이 과정은 다음과 같다.1. 모든 문자열들을 문자 배열(char[])로 변경한다2. 문자들에 대해 비교하며 dfs 과정을 진행한다 풀이는 다음과 같다.import java.util.*;class Solution { String[] words; char[][] wordChar; boolean[] visit; int answer ..
-
99클럽 코테 스터디 32일차 TIL / 아이템 줍기(프로그래머스)Study(진행중)/항해99 2024. 8. 22. 21:43
오늘의 학습 키워드 - 알고리즘 - 구현 - bfs 공부한 내용 본인의 언어로 정리하기https://school.programmers.co.kr/learn/courses/30/lessons/87694좌표를 2배로 늘리는 아이디어를 떠올리는게 까다로웠던 bfs 문제를 풀었다.아이디어만 떠올리면 이후에는 풀만했던 것 같다. 풀이 과정은 다음과 같다.1. 좌표를 2배로 늘림2. 사각형의 범위를 모두 1로 채움3. 사각형의 내부를 모두 0으로 바꿈4. bfs를 통해 1인 경로로만 최단 경로 탐색(1인 경로 = 문제 조건에서의 경로) 풀이는 다음과 같다.import java.util.*;class Solution { public int solution(int[][] rectangles, ..
-
99클럽 코테 스터디 31일차 TIL / 네트워크(프로그래머스)Study(진행중)/항해99 2024. 8. 21. 20:24
오늘의 학습 키워드 - 알고리즘 - 그래프 탐색 - 유니온-파인드공부한 내용 본인의 언어로 정리하기https://school.programmers.co.kr/learn/courses/30/lessons/43162유니온 파인드 + 그래프 탐색 알고리즘이 합쳐진 문제를 풀었다.아이디어가 바로 떠올라서 금방 풀었다. 풀이 과정은 다음과 같다.1. union-find 코드 작성1 - 1. union(a, b) : a와 b집합이 있을때 두 집합을 합치는 연산1 - 2. find(a) : a집합의 부모는 누구인지 확인하는 연산2. 제공된 그래프를 반복문을 돌며 연결되었다면 union2 - 1. 이 때 computers[i][j] = computers[j][i]이므로 반복문을 돌 때 아래와 같은 범위만 계..
-
99클럽 코테 스터디 30일차 TIL / 잃어버린괄호(백준)Study(진행중)/항해99 2024. 8. 20. 23:32
오늘의 학습 키워드 - 알고리즘 - 그리디공부한 내용 본인의 언어로 정리하기https://www.acmicpc.net/problem/1541그리디 알고리즘을 이용한 문제를 풀었다. 아이디어가 가장 어려웠지만 아이디어를 떠올린 이후로는 풀 만 했다. 풀이 과정은 다음과 같다.1. '-'를 기준으로 문자열 파싱2. 파싱된 문자열들을 '+'를 기준으로 파싱 후 모두 합산2 - 1. 그러면 모든 덧셈 연산은 완료된 상태ex) 10 + 20 - 30 + 40 -> 30 - 703. 위 상태에서 첫 번째 숫자를 제외한 모든 숫자들을 빼주면 최소값 풀이는 다음과 같다.import java.util.*;import java.io.*;public class Main { static StringTokenize..
-
99클럽 코테 스터디 29일차 TIL / MongoDB, Postgres, MariaDB 차이점Study(진행중)/항해99 2024. 8. 19. 21:11
오늘의 학습 키워드 - CS공부한 내용 본인의 언어로 정리하기MongoDB / Postgres, MariaDB 차이 요약MongoDBNoSQL 문서 지향 데이터베이스로, 유연한 스키마와 수평적 확장을 지원하며, 비정형 데이터 처리에 적합MariaDBMySQL의 포크 버전인 관계형 데이터베이스로, 고정된 스키마와 ACID 트랜잭션을 지원하며, 웹 애플리케이션이나 전통적인 관계형 데이터 관리에 적합PostgreSQL고급 기능을 갖춘 관계형 데이터베이스로, ACID 트랜잭션, 복잡한 쿼리 처리, 다양한 확장 기능 등을 제공하며, 엔터프라이즈급 애플리케이션에 적합1. 데이터 모델MongoDBNoSQL DB, 문서 지향형DB데이터를 JSON 형식의 문서로 저장, 컬렉션(=테이블)에 여러 문서 저장데이터는 키-..
-
99클럽 코테 스터디 28일차 TIL / TCP & HTTP 차이점Study(진행중)/항해99 2024. 8. 18. 20:24
오늘의 학습 키워드 - CS공부한 내용 본인의 언어로 정리하기TCP / HTTP 차이점 요약TCP는 데이터를 신뢰성 있게 전송하는 역할을 하는 전송 계층 프로토콜HTTP는 웹 클라이언트와 서버 간에 데이터를 주고받기 위한 애플리케이션 계층 프로토콜이며, 데이터를 전송할 때 TCP를 사용1) 계층에서의 차이TCP전송 계층에 속하는 프로토콜입니다. TCP는 데이터를 안전하게 전송하는 역할.데이터를 패킷으로 나누어 전송하고, 이 패킷들이 손실되거나 손상되지 않도록 확인하며, 순서대로 전달되었는지 확인HTTP애플리케이션 계층에 속하는 프로토콜.웹 브라우저와 웹 서버 간의 통신 규칙을 정의하는 프로토콜웹 페이지와 같은 리소스를 요청하고 전송받는 데 사용2) 기능적 차이TCP데이터 전송을 위한 기본적인 메커니즘..
-
99클럽 코테 스터디 27일차 TIL / TCP & UDP 차이Study(진행중)/항해99 2024. 8. 18. 00:50
오늘의 학습 키워드 - CS공부한 내용 본인의 언어로 정리하기TCP / UDP 차이점 요약TCP: 신뢰성과 안정성을 중시하며, 연결 기반, 느리지만 정확한 전송.UDP: 속도와 효율성을 중시하며, 비연결 기반, 빠르지만 신뢰성은 낮음.1) 연결 방식TCP: 연결 지향적 프로토콜. 데이터를 전송하기 전에 송신자와 수신자가 먼저 연결을 설정한 후 데이터를 주고받습니다(3-way handshake). 연결이 확립되면 데이터 전송이 시작되므로 안정적인 데이터 전송 가능UDP: 비연결형 프로토콜송신자와 수신자 사이에 연결을 설정하지 않고 데이터를 전송합니다. 데이터를 보내면 끝이기 때문에 연결 설정 및 관리 필요 X2) 신뢰성TCP신뢰성 보장데이터가 손실되거나 순서가 뒤바뀌는 경우, TCP는 자동으로 재전송하..