danbibibi
article thumbnail
BOJ 2623번: 음악프로그램
문제 풀이/백준 2023. 3. 21. 02:57

문제문제 바로가기> BOJ 2623번: 음악프로그램 2623번: 음악프로그램첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net 풀이보조 PD들이 정해 놓은 순서를 모두 만족 시키는 최종 순서를 찾아야 하기 때문에 위상정렬을 이용해서 문제를 풀었다! 주의 할 점은 이미 들어온 순서 쌍이 또 들어올 수 있다는 점이다. 이를 중복 처리 해주지 않기 위해 set을 이용했다! #include #include #include #define MAX 1001 using namespace std; int N, M; int inDegr..

article thumbnail
Mac 이클립스 자동완성 설정

1. settings ... 에 들어가 준다. 2. key 검색 후, (General > Keys > Content Assist) 에 원하는 단축키 등록!

article thumbnail
java lombok 라이브러리

lombok 이란? : 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리 getXXX, setXXX, 생성자, toString 등의 메소드를 한줄로 대체 가능하다!! wow 주요 어노테이션 @Getter : 변수들의 Getter 메소드를 만들어주는 어노테이션 @Setter : 변수들의 Setter 메소드를 만들어주는 어노테이션 @NoArgsConstructor : 어떠한 변수도 사용하지 않는 기본 생성자를 자동완성 시켜주는 어노테이션 @AllArgsConstructor : 모든 변수를 사용하는 생성자를 자동완성 시켜주는 어노테이션 @ToString : 클래스의 변수들을 기반으로 ToString 메소드를 자동완성 시켜주는 어노테이션 lombok 사용 전 public class BoardDto { pr..

article thumbnail
Servlet과 JSP
WEB/back-end 2023. 3. 21. 00:03

💡 Servlet, JSP 왜 쓸까? 동적 웹 어플리케이션을 제작하기 위해서는 프로그래밍 언어를 이용해야하기 때문에 Servlet이나 JSP를 사용한다! = 한 마디로, Java로 웹 어플리케이션을 만들어야 하는데, Java를 사용하기 위해서!! * 동적 웹 페이지 : 등록된 자원들 중 사용자의 요청에 따라 다른 결과들이 나오는 페이지 Servlet Java 코드 내 HTML 코드 자바를 사용하여 웹 서버에서 동적으로 생성한 웹 페이지를 웹 브라우저에 돌려줌 Servlet Life-Cycle 단순한 클래스가 서블릿 클래스가 되기 위해서는 서블릿 생명주기를 가져야 함 init(), service(), destroy() 순서의 생명주기를 추상 메소드로 갖는 인터페이스 = servlet 인터페이스 init()..

article thumbnail
BOJ 1584번: 게임
문제 풀이/백준 2023. 3. 18. 23:47

문제 문제 바로가기> BOJ 1584번: 게임 1584번: 게임 첫째 줄에 위험한 구역의 수 N이 주어진다. 다음 줄부터 N개의 줄에는 X1 Y1 X2 Y2와 같은 형식으로 위험한 구역의 정보가 주어진다. (X1, Y1)은 위험한 구역의 한 모서리이고, (X2, Y2)는 위험한 구역의 www.acmicpc.net 풀이 BFS 탐색을 진행하되, 안전한 구역인 경우, 그 구역에서 먼저 탐색을 진행해주기 위해 deque 자료구조를 이용했다!! #include #include #define MAX 501 #define DANGER 1 #define DEATH 2 using namespace std; struct DATA { int y, x, lose; }; int N, M; int map[MAX][MAX]; b..

article thumbnail
BOJ 2636번: 치즈
문제 풀이/백준 2023. 3. 18. 19:23

문제 문제 바로가기> BOJ 2636번: 치즈 2636번: 치즈 첫째 줄에는 사각형 모양 판의 세로와 가로의 길이가 양의 정수로 주어진다. 세로와 가로의 길이는 최대 100이다. 판의 각 가로줄의 모양이 윗 줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진 www.acmicpc.net 풀이 치즈의 구멍인지, 빈칸인지 확이하기 위해서 4꼭지점에서 BFS 탐색을 시작해 주는게 핵심이다! C++ #include #include #define MAX 101 #define EMPTY 0 #define CHEESE 1 using namespace std; struct POS { int r, c; }; int R, C; int total = 0; int map[MAX][MAX]; bool visited[MAX][MAX..

article thumbnail
BOJ 2842번 : 집배원 한상덕
문제 풀이/백준 2023. 3. 10. 20:38

문제 문제 바로가기> BOJ 2842번 : 집배원 한상덕 2842번: 집배원 한상덕 상덕이는 언덕 위에 있는 마을의 우체국에 직업을 얻었다. 마을은 N×N 행렬로 나타낼 수 있다. 행렬로 나뉘어진 각 지역은 우체국은 'P', 집은 'K', 목초지는 '.' 중 하나로 나타낼 수 있다. 또, 각 www.acmicpc.net 풀이 고도를 ±1 씩 모든 경우의 수를 구할 경우 시간 초과가 발생한다. 50*50*1,000,000 = 2,500,000,000 (25억,,) 하지만 실제 고도의 개수는 50*50 = 2500을 초과할 수 없고, 이를 반영해서 "투 포인터 + 그래프 탐색"으로 풀었다. 1. 투포인터를 이용하기 위해 고도를 정렬해야 한다. 이때, 중복되는 값은 필요 없으므로!! set을 이용해서 중복되는..

article thumbnail
BOJ 1918번: 후위 표기식
문제 풀이/백준 2023. 3. 7. 16:43

문제 문제 바로가기> BOJ 1918번: 후위 표기식 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 풀이 #include #include #include #define MAX 32001 using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); string expr; cin >> expr; stack st; // 우선 순위가 낮은 연산자 (+, -) 부터 큰 연산자 (*, /) 순으로 쌓임 // 연산자 우선 순위 : () > *..

article thumbnail
SWEA 5653번: 줄기세포 배양
문제 풀이/SWEA 2023. 3. 5. 19:59

문제 문제 바로가기> SWEA 5653번: 줄기세포 배양 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 1. 배열의 범위 세포가 (비활성 + 활성) 상태를 가지므로 N+2*K가 아닌, N+K로만 잡아줘도 충분하다! 넉넉히 +1 해주는 버릇이 있다. 혹시 모르니까,, start를 K/2로 해주면, 배열의 범위를 벗어날 일은 없어서, 따로 검사해주지 않아도 된다. 2. 하나의 그리드 셀에 동시 번식하려고 하는 경우 생명력 수치가 높은 줄기 세포가 해당 그리드 셀을 혼자서 차지한다. 따라서 생명력 수치가 높은 줄기 세포부터 번식 하면 되고, 이를 위해 Priority Queue를 이용했다! 처음에 2차원 배열..

article thumbnail
SWEA 2115번: 벌꿀채취
문제 풀이/SWEA 2023. 3. 4. 17:05

문제 문제 바로가기> SWEA 2115번: 벌꿀채취 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 1. 부분집합을 이용하여, 해당 지점(y, x) 에서 얻을 수 있는 가장 큰 수익을 profit[y][x]에 저장한다. 2. 조합을 이용하여, 일꾼 두명이 얻을 수 있는 최대 수익을 구한다. JAVA import java.io.*; import java.util.*; public class Solution { static BufferedReader br = null; static int N, M, C, ans; static int[][] map, profit; static void input() throws..

article thumbnail
BOJ 17615번: 볼 모으기
문제 풀이 2023. 3. 3. 21:33

문제 문제 바로가기> BOJ 17615번: 볼 모으기 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주 www.acmicpc.net 풀이 크게는 총 2가지 경우가 있고, 그 안에서 또 2가지로 나뉘어 총 다음과 같은 4가지 경우가 있다. 1. 빨간 볼을 움직이는 경우 왼쪽으로 움직이는 경우 오른쪽으로 움직이는 경우 2. 파란 볼을 움직이는 경우 왼쪽으로 움직이는 경우 오른쪽으로 움직이는 경우 위 4가지 경우에서 최솟값을 찾아주면 되는 간단한 문제였다 ㅎㅎ 처음에 너무 복잡하게 생각하려고 하다보니 오히려 어렵게 느..

article thumbnail
BOJ 17822번: 원판 돌리기

문제 문제 바로가기> BOJ 17822번: 원판 돌리기 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 풀이 원판을 2차원 배열로 입력받아서 시뮬레이션을 진행하는 문제였다. 처음에 시간을 절약하기 위해 M/2 < k 인 경우 반대 방향으로 M-k만큼 돌려주었고, sum, cnt 변수를 전역 변수로 가지고 있는 방식을 이용했다. 하지만, 이러한 부분을 빼고 그때그때 sum과 cnt를 가져오는 함수를 만들도록 코드를 변경하면, 코드가 더 깔끔해질 것 같았고, 시간 초과가 발생할 시간 복잡도도 아니어..

article thumbnail
BOJ 17825번: 주사위 윷놀이

문제 문제 바로가기> BOJ 17825번: 주사위 윷놀이 17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 처음에는 시작 칸에 말 4개가 있다. 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 www.acmicpc.net 풀이 각 칸에서 이동해야하는 다음칸, 점수를 저장해 두어야 하는데, 이 때 약간의 노가다 작업?이 필요하다. 그 외에는 단순 백트래킹 문제이다 ! 💡 문제 해결 Point 처음에 파란지점 때문에 2차원 배열([이동칸][현위치] = 다음위치)을 만들어서 바로 이동하게 하려고 했는데, 이렇게 하는 경우, 너무 많은 노가다 작업이 필요했다,, 개인적으로, blueP 지점을 별도 배열로 가지고 있는 부분이 중요한 ..

article thumbnail
BOJ 21611번: 마법사 상어와 블리자드

문제 문제 바로가기> BOJ 21611번: 마법사 상어와 블리자드 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net 풀이 문제에서 요구하는 각 스텝의 구현이 모두 비슷해서 구현이 어렵지는 않은 문제였다. 다만... 모든 반례가 통과하는데, 왜 자꾸 75%에서 틀리지,, 라고 생각했는데... 바로 `if(x==0) break; ` 부분을 넣어주지 않았기 때문 ... x=0 이 되는 시점에서는 어떠한 처리도 할 필요없고, 해서도 안된다,,,!!!!!! 🥲 이 처리를 해주지 않으면, change_ma..

article thumbnail
Transport Layer (전송 계층)
CS/네트워크 2023. 2. 27. 00:59

Transport Layer (전송 계층) host안에 존재하는 많은 프로세스 중 목적지 프로세스로 전달하는 역할을 담당 전송 단위 : 세그먼트 (segment) - TCP / 데이터그램(datagram) - UDP 주소 : Port 번호 💡 Application Layer에서 Transport Layer에 바라는 서비스 Application Layer에 서비스 제공 (in TCP/IP 4 계층) 1. data integrity (data 유실 없이 전달) → TCP 제공 2. throughput ex) 최소 x bps이상 보장 → 제공 x 3. timing ex) 내가 보낸 메세지는 x ms 안에 도착하면 좋겠다 → 제공 x 4. security (보안) → 제공 x TCP, UDP Transport ..