분류 전체보기 698

[Baekjoon] 28278_스택 2

Silver IV문제(출처: https://www.acmicpc.net/problem/28278) 문제 풀이  Stack을 사용해서 문제에서 말한 명령대로 구현한다.   my solution (Java)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Stack;import java.util.StringTokenizer;public class _28278_ { // 스택 2 public static void main(String[] args) throw..

[Baekjoon] 17952_과제는 끝나지 않아!

Silver III문제(출처: https://www.acmicpc.net/problem/17952) 문제 풀이  Stack을 사용해서 0이 입력될 때는 stack에서 값을 pop해와 시간을 -1 시켜 다시 stack에 넣어주며 만약 시간이 1이라면 과제를 끝낼 수 있으므로 점수를 총합에 더해준다. 만약 1이 입력될 때는 stack에 값을 넣어준다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class _17952_ { // 과제는 끝나지 않아..

[CS] TCP/IP 4계층

💡TCP/IP 4 계층애플리케이션 계층전송 계층인터넷 계층링크 계층 💡애플리케이션 계층응용 프로그램(FTP, HTTP, DNS, SSH 등)이 사용되는 프로토콜 계층서비스를 실질적으로 사람들에게 제공 💡전송 계층송신자와 수진자를 연결하는 통신 서비스 제공연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공데이터 전달될 때 중계 역할 TCP : 패킷 사이 순서 보장 '가상회선 패킷 교환 방식'UDP : 패킷 사이 순서 보장 x '데이터그램 패킷 교환 방식' 💡인터넷 계층장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지까지 전송하기 위해 사용비연결형 IP, ARP, ICMP 💡링크 계층실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 규칙을 정하는 계층 전선, 광섬유, 무선

[CS] Network Topology

💡Network Topology노드, 링크 배치 방식 💡Tree Topology계층형 토폴로지트리 형태로 배치 노드 추가, 삭제 쉬움특정 노드에 트래픽이 집중될 때 하위 노드에 영향 끼칠 수 있음 💡Bus Topology중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성근거리 통신망(LAN)에서 사용 설치 비용이 적음신뢰성이 우수노드 추가, 삭제 쉬움스푸핑 가능 문제💡Star Topology중앙에 있는 노드에 모두 연결된 네트워크 구성 노드 추가, 에러 탐지 쉬움패킷 충돌 발생 적음중앙 노드에 장애가 발생하면 전체 사용 불가 💡Ring Topology각각의 노드가 양 옆의 두 노드와 연결하여 고리처럼 하나의 연속된 길을 통해 통신하는 망 구성 노드 수 증가 시 네트워크 손실..

[CS] 프로그래밍 패러다임

💡프로그래밍 패러다임선언형과 명령형으로 나뉨 선언형 : 함수형명령형 : 객체지향, 절차지향 💡선언형: 함수형 프로그래밍'무엇을'순수 함수들을 쌓아 로직을 구현하고 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임 💡명령형: 객체지향 프로그래밍객체들의 집합프로그램의 상호 작용을 표현 특징1) 추상화2) 캡슐화3) 상속성4) 다형성 설계 원칙1) 단일 책임 원칙 (S)2) 개방-폐쇄 원칙 (O)3) 리스코드 치환 원칙 (L)4) 인터페이스 분리 원칙 (I)5) 의존 역전 원칙 (D) 💡명령형: 절차형 프로그래밍로직이 수행되어야 할 연속적인 계산 과정으로 이루어짐

[Baekjoon] 3986_좋은 단어

Silver IV문제(출처: https://www.acmicpc.net/problem/3986) 문제 풀이  Stack을 사용해서 A끼리 또는 B끼리 쌍을 지어 연달아 있는지 확인한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class _3986_ { // 좋은 단어 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.i..

[Baekjoon] 2812_크게 만들기

Gold III문제(출처: https://www.acmicpc.net/problem/2812) 문제 풀이  Stack을 사용해서 다음 숫자가 현재 숫자보다 크다면 현재 숫자를 stack에서 pop 해준다. 예를 들어 예제에서 주어진 입력이라면4 21924위의 그림과 같이 처음에 1을 stack에 넣어준다. 그다음 값이 9일 때 stack에 들어있는 값이 1 이므로 1을 빼고 9를 넣으면 더 큰 값을 만들 수 있다. 2는 9보다 작으므로 stack에 넣어준다. 마지막으로 4가 들어올 때 2보다 크므로 2를 빼주고 4를 넣어준다.   my solution (Java)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOExc..

[Baekjoon] 2841_외계인의 기타 연주

Silver I문제(출처: https://www.acmicpc.net/problem/2841) 문제 풀이  기타 줄마다 stack을 만들어서 눌러야 하는 프렛보다 전에 누른 프렛 번호가 큰지 작은지에 따라 판단하여  문제를 해결했다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Stack;import java.util.StringTokenizer;public class _2841_ { // 외계인의 기타 연주 public static void main(String[] args)..

[CS] MVC 패턴

💡MVC 패턴이란?모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴 💡장점재사용성, 확장성이 용이 💡단점애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해짐 💡모델(Modle)애플리케이션의 데이터인 데이터베이스, 상수, 변수뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신 💡뷰(View)사용자 인터페이스 요소 (모델을 기반으로 사용자가 볼 수 있는 화면) 💡컨트롤러(Controller)메인 로직 담당하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할 (모델, 뷰의 변경을 해석하여 각각의 구성 요소에 알려줌)모델과 뷰의 생명주기 관리 💡MVC 패턴 예시스프링(spring): 어노테이션을 기반으로 사용자의 요청 값을 쉽게 분석 ..

[Baekjoon] 23294_웹 브라우저 1

Gold IV문제(출처: https://www.acmicpc.net/problem/23294) 문제 풀이  Deque 2개를 사용해서 뒤로 가기 공간과 앞으로 가기 공간을 나누어 구현했다.각 작업을 실행할 때마다 캐시 용량도 뒤로 가기 공간과 앞으로 가기 공간을 나누어 계산해 주었다.   my solution (Java)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayDeque;import java.util.Deque;import java.u..