전체 글 291

[백준 | Java Bronze II ] (#1673) 치킨 쿠폰

문제https://www.acmicpc.net/problem/1673접근강민이는 치킨 한 마리를 주문할 수 있는 치킨 쿠폰을 n장 가지고 있다. 이 치킨집에서는 치킨을 한 마리 주문할 때마다 도장을 하나씩 찍어 주는데, 도장을 k개 모으면 치킨 쿠폰 한 장으로 교환할 수 있다.강민이가 지금 갖고 있는 치킨 쿠폰으로 치킨을 최대 몇 마리나 먹을 수 있는지 구하여라. 단, 치킨을 주문하기 위해서는 반드시 치킨 쿠폰을 갖고 있어야 한다. 예제 입력4 310 3100 5 예제 출력514124  쿠폰 4장을 가지고 있고, 도장 3개에 쿠폰 1장을 주는 경우쿠폰 3장을 통해 3마리를 시키고, 쿠폰 한 장을 더 받는다. 나머지 쿠폰 두 장을 통해 두 마리를 더 시킨다.  => 총 5마리 쿠폰 10장을 가지고 있고, ..

[백준 | Java Bronze II ] (#14487) 욱제는 효도쟁이야!!

문제https://www.acmicpc.net/problem/14487 접근둘째 줄에 i번째 마을과 i+1번째 마을의 이동비용 vi가 n개 주어진다. n번째 vi는 n번째 마을과 1번째 마을의 이동비용을 의미한다. (1 ≤ vi ≤ 1,000) 1 6 5 2 4 n=51 : 1번째 - 2번째 마을6 : 2번째 - 3번째 마을5: 3번째 - 4번째 마을2: 4번째 - 5번째 마을4: 5번째 - 1번째 마을  원형이라서 모든 곳을 다 돌아야해서 똑같은 거 아닌가..? 했지만 생각해보니 가장 비싼 한 곳만 안들리도록 하면 됐었던 문제최종 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;impor..

[네트워크] TCP 연결 과정

TCP 연결의 특징1:1 연결을 할 수 있다. (1명의 sender, 1명의 receiver)신뢰성이 높고, in-order byte stream으로 순서가 바뀌지 않는다한 connection에서 양방향으로 보낼 수 있다.connection-oriented 연결 지향MSS(maximum segment size)가 있어서 엄청 큰 이미지 파일을 tcp로 보낸다고 해도, mss 단위로 쪼개져서 보내진다.TCP Segment의 구조TCP Segment는 위처럼 다양한 값들을 저장한다.  Port Number : 가장 위에는 어디에서 왔고, 어디로 가는 지를 지정Segment sequence number : bytestream에서의 byte 수.MMS가 1000인 경우, 1번째 segment의  sequence..

[네트워크] OSI 7계층 모델

OSI 7계층 모델 배경OSI 7계층 모델은 ISO 국제 표준화 기구에서 1984년 제정한 네트워크 표준 규격이다. 옛날에는 회사에서 각각의 컴퓨터들이 통신하는 자신만의 프로토컬을 가지고 있었기 때문에 서로 다른 회사의 컴퓨터들끼리의 통신이 어려웠다고 한다. 따라서 ISO 국제 표준화 기구에서 네트워크로 통신하는 표준 규격을 제정하여 제조사에 상관 없이 모두가 통신할 수 있게 했다.  OSI 7계층  ISO에서는 이러한 통신 규격을 7계층으로 나눠서 계층 별로 독립적인 역할을 분담해서 문제가 발생했을 때 원인을 쉽게 파악할 수 있도록 했다.  사람이 짐을 들고 비행기를 타는 것을 예시로 들어보자. 티켓을 사고, 짐가방을 체크인을 하고, 비행기에 타고, 활주로에 갔다가 routing을 통해 목적지에 도달할..

[네트워크] 대역폭(Bandwidth)이란?

대역폭 대역폭(Bandwidth)의 사전적 의미는 일반적으로 헤르츠로 표시되는 주파수의 범위를 지칭하는 것이다. ex) 무선 인터넷(Wifi)에서 주로 사용하는 주파수 대역폭은 2.4GHz, 5GHz이다. 주파수 대역폭이 높을수록 더 많은 네트워크 대역폭을 제공할 수 있어 더 빠르고 효율적인 데이터 전송이 가능하다.이렇게 주파수 대역(2.4GHz, 5GHz)과 네트워크 대역폭(Mbps)은 함께 작용하여 무선 인터넷의 성능을 결정한다. 네트워크 처리량과 네트워크 대역폭여기서 네트워크 대역폭은 정보 전달에 있어서 전송 용량과 속도에 관여를 한다. 인터넷의 접속 속도는 단위시간 당 송신량이 얼마나 되느냐에 따라 결정되기 때문에 인터넷 접속 속도라고도 볼 수 있다. 대역폭이 높으면 더 많은 사용자를 수용할 수 ..

[백준 | Java Silver II ] (#2644) 촌수계산

문제https://www.acmicpc.net/problem/2644 접근촌수계산 문제를 읽어보니 깊이를 알아야하는 거니까 dfs 문제임을 알 수 있었다.  graph 크기가 n+1인 2차원 배열이라서 dfs의 for문에서 범위를 n으로 줬는데, n이 현재 접근 중인 정점을 뜻해서 출력이 안되는 이상한 실수를 했다.  그거만 잡아주니 잘 풀렸다!  최종코드package week10.baek.july9;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class S2644 { static int[][] graph; static boolean..

[백준 | Java Silver II ] (#1260) DFS와 BFS

문제https://www.acmicpc.net/problem/1260이슈☝️연결된 정점을 저장하는 List를 정렬해줘야 두번째 테스트케이스 통과! ☝️메모리 초과 - ArrayList 대신 LinkedList로 사용해야 제출 성공! 첫번째 코드 - 메모리 초과 (실패)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { static boolean[] visited; public static void dfs(int N, Map> list, int V) { //방문 처리 visited[V] = tr..

[백준 | Java Bronze I ] (#8595) 히든넘버

문제https://www.acmicpc.net/problem/8595 이슈 다음은 히든넘버의 조건이다. 연속된 숫자는 한 히든 넘버이다.두 히든 넘버 사이에는 글자가 적어도 한 개 있다.히든 넘버는 6자리를 넘지 않는다.두번째 조건이 내 코드에 적용을 할 필요가 없었던 문제  ++ 문자인지 확인 방법 : Character.isLetter()Char c = 'c';//True 출력됨if( Character.isLetter(c) ) System.out.println("TRUE");첫번째 코드 - 실패 (숫자가 마지막에 오는 경우 생각 x)package week10.baek.july9;import java.io.BufferedReader;import java.io.IOException;import java.i..

[백준 | Java Bronze I ] (#14659) 한조서열정리하고옴ㅋㅋ

문제https://www.acmicpc.net/problem/14659첫번째 코드 - 실패 package week10.baek.july9;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class B14659 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); i..