본문 바로가기
백준 15654 : n과 m (재귀) 문제N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다.N개의 자연수 중에서 M개를 고른 수열입력첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 복사3 14 5 2예제 출력 1 복사245예제 입력 2 복사4 29 8 7 1예제 출력 2 복사1 71 81 97 17 87 98 18 78 99 .. 2024. 6. 22.
컴구 총정리 클럭 속도가 높을 수록 CPU 성능 상승 hz - 1초에 클럭이 반복되는 횟수cpu 속도를 높이기 위해서 클럭을 계속 올리면 발열이 발생, 스레드나 코어의 수를 늘리자 코어 : 명령어를 실행하는 부품, cpu내에 여러 개의 코어가 잇을 수 있음멀티코어 CPU - 코어 여러개 cpu, 단일 코어보다 연산이 빠르지만 코어 갯수랑 연산속도가 정비례x • 스레드사전적 의미 : 실행 흐름 단위-hw 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위, cpu에서 사용1코어 1스레드 -> 명령어 실행하는 부품 하나가 한번에 한개의  명령어 처리2코어 4스레드 -> 명령어 실행하는 부품 2개가 한번에 4개의 명령어 처리sw 스레드 : 하나의 프로그램에서의 독립적인 실행 단위, 1코어 1스레드 cpu도 여러 sw 스.. 2024. 6. 20.
자바프로그래밍 총정리2 - 스윙, GUI, 이벤트 • 자바 GUI 프로그래밍 방법GUI 컴포넌트, 그래픽awt 패키지, swing 패키지 사용 • AWT 자바 처음부터 배포된 GUI 라이브러리 java.awt 패키지AWT 컴포넌트는 중량 컴포넌트, 운영체제에 도움을 받아 작동 •Swing AWT 기반 순수 자바 언어로 만들어진 라이브러리, 클래스가 J로 시작 Swing 컴포넌트는 경량 컴포넌트, 운영체제에 의존하지 않는다JComponent를 상속받는 대부분의 스윙 컴포넌트, AWT의 Container를 상속받는 몇개의 클래스가 있다-• Swing 에서 컨테이너와 컴포넌트컨테이너 : 다른 GUI 컴포넌트를 포함 가능, 다른 컨테이너에 포함 가능최상위 컨테이너 : 다른 컨테이너에 속하지 않고 독립적으로 화면 출력 가능한 컨테이너 JFrame, JDialog.. 2024. 6. 19.
자바프로그래밍 총정리 1 - GUI 제외 부분 클래스, 객체, 상속, 모듈, 제네릭&컬랙션, 스트림, 스레드, 소켓, 네트워크, jdbc •  상속 객체 -  클래스를 실체화 한 것, instance캡술화 - 외부로부터 객체 보호클래스 : 객체 틀상속 - 자식 클래스가 부모 클래스의 속성, 기능을 받아서 확장 • 다형성 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현메서드 오버로딩 - 같은 이름, 매개변수 등이 달라서 다르게 동작메서드 오버라이딩 - 부모 클래스 메서드를 서브 클래스마다 다르게 구현 • 상속new로 서브 클래스 객체 만들면 생성자 호출, 실행 순서가 어캐되냐서브 클래스 생성자 호출 -> 슈퍼 클래스 생성자 호출 -> 슈퍼 클래스 생성자 실행 - > 서브 생성자 실행 서브클래스에서 super 키워드로 슈퍼 클래스 생성.. 2024. 6. 17.
백준 17298 : 오큰수 (스택) 문제크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다.예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,00.. 2024. 6. 7.
백준 2841 : 외계인의 기타 연주 (스택) 문제상근이의 상상의 친구 외계인은 손가락을 수십억개 가지고 있다. 어느 날 외계인은 기타가 치고 싶었고, 인터넷에서 간단한 멜로디를 검색했다. 이제 이 기타를 치려고 한다.보통 기타는 1번 줄부터 6번 줄까지 총 6개의 줄이 있고, 각 줄은 P개의 프렛으로 나누어져 있다. 프렛의 번호도 1번부터 P번까지 나누어져 있다.멜로디는 음의 연속이고, 각 음은 줄에서 해당하는 프렛을 누르고 줄을 튕기면 연주할 수 있다. 예를 들면, 4번 줄의 8번 프렛을 누르고 튕길 수 있다. 만약, 어떤 줄의 프렛을 여러 개 누르고 있다면, 가장 높은 프렛의 음이 발생한다.예를 들어, 3번 줄의 5번 프렛을 이미 누르고 있다고 하자. 이때, 7번 프렛을 누른 음을 연주하려면, 5번 프렛을 누르는 손을 떼지 않고 다른 손가락으로.. 2024. 6. 7.
컴퓨터 네트워크 4~7장 정리 네트워크 계층 패킷 - 다이어그램• 라우터와 스위치의 차이라우터는 네트워크 계층 장치, 다른 네트워크 간의 데이터 전송, 라우팅 테이블을 사용ip 주소를 사용해서 패킷 전송스위치는 데이터 링크 계층, 동일한 네트워크 내에서 프레임 전송 기능MAC 주소 pnp로 자가학습, 저장 • 데이터 평면과 제어 평면의 주요 기능데이터 평면은 패킷을 전달, 포워딩제어 평면은 네트워크 라우팅, 경로 계산 • 라우팅과 포워딩의 차이라우팅 - 데이터 이동의 경로 결정, OSPF, BGP등의 라우팅 알고리즘을 사용포워딩 - 라우팅 테이블 기반으로 패킷의 경로를 결정해 전달포워딩은 1hop에서 이루어진다라우터 R1 -> R2 -> R3로 갈때 각각 다음 홉을 찾아서 포워딩하는 게 반복된다 • 인터넷 네트워크 계층의 서비스 모델.. 2024. 6. 7.
백준 1874 : 스택 수열 문제스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다.1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라.입력첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다. .. 2024. 6. 6.
백준 16120 : PPAP (스택) 문제bryan은 PPAP를 좋아한다. bryan은 어떻게 하면 사람들에게 PPAP를 전파할 수 있을까 고민하던 중 PPAP 문자열이라는 것을 고안하게 되었다.PPAP 문자열은 문자열 P에서 시작하여, 문자열 내의 P를 PPAP로 바꾸는 과정을 반복하여 만들 수 있는 문자열로 정의된다. 정확하게는 다음과 같이 정의된다.P는 PPAP 문자열이다.PPAP 문자열에서 P 하나를 PPAP로 바꾼 문자열은 PPAP 문자열이다.예를 들어 PPAP는 PPAP 문자열이다. 또한, PPAP의 두 번째 P를 PPAP로 바꾼 PPPAPAP 역시 PPAP 문자열이다.문자열이 주어졌을 때, 이 문자열이 PPAP 문자열인지 아닌지를 알려주는 프로그램을 작성하여라.입력첫 번째 줄에 문자열이 주어진다. 문자열은 대문자 알파벳 P와 A.. 2024. 6. 6.
백준 5397 : 키로거 (스택) 문제창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다.키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 강산이는 키보드로 입력한 키는 알파벳 대문자, 소문자, 숫자, 백스페이스, 화살표이다.입력첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이.. 2024. 6. 6.
컴네 시험 네트워킹 알고리즘 특징, 단점MAC CSMA/CDCDMA, CSMA/CA히든 터미널무선에서 충돌 회피연습문제 그림있는 문제들 잘 보고 풀어보기RTS/CTS라우터와 스위치의 역할, 차이ex- 라우터를 비용절감을 위해서 스위치로 바꾸면 어떤 일이 일어나는가? 2024. 6. 5.
백준 2504 : 괄호의 값 문제4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다.한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다.만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올바른 괄호열이 된다.X와 Y 모두 올바른 괄호열이라면 이들을 결합한 XY도 올바른 괄호열이 된다.예를 들어 ‘(()[[]])’나 ‘(())[][]’ 는 올바른 괄호열이지만 ‘([)]’ 나 ‘(()()[]’ 은 모두 올바른 괄호열이 아니다. 우리는 어떤 올바른 괄호열 X에 대하여 그 괄호열의 값(괄호값)을 아래와 같이 정의하고 값(X)로 표시한다.‘()’ 인 괄호열의 값은 2이다.‘[]’ 인 괄호열의 값은 3이다.‘(X)’ 의 괄호값은 2×값(X) 으로 계.. 2024. 6. 3.
백준 10799: 쇠막대기(스택) 문제여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다.각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다.아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다.이러한 레이저와 쇠막대기의 배치는 다음과 같이 괄호를 이용하여 왼쪽부터 .. 2024. 6. 3.
백준 4949 : 균형잡힌 세상 (스택) 문제세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다.모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다.모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다.모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 둘 이상의 괄호와 짝지어지지 않는다.짝을 이루는 두 괄호가 있을 때, 그 사이에 있는 문자열도 균.. 2024. 5. 31.
백준 9012 : 괄호 문제괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 문자열이.. 2024. 5. 31.
백준 10825 : 스택 문제정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다... 2024. 5. 30.
백준 5430 : AC 문제선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다.함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 수를 버리는 함수이다.배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 100이다.각 테스트 케이스의 첫째 줄.. 2024. 5. 30.
Chap 7 Wireless • 인프라스트럭쳐 방식기지국을 통해서 네트워크 서비스에 접속 • 애드 훅 방식기지국이 없이 각각의 호스트가 노드가 되어 자기 커버리지 안에 있는 다른 노드에게 데이터를 전송 교재에서는 주로 싱글 홉, 인프라스트럭쳐가 있는 네트워크를 다룬다 • 경로 손실거리가 멀어짐에 따라 신호는 제곱으로 약해진다 • 무선 네트워크 특징신호 세기 감소, 경로 손실, 간섭, 다중 경로 전파 등의 이유로 유선 링크보다 무선 링크에서 더 많은 비트 에러가 발생한다 • SNR, BERSNR -  신호세기, SNR이 커질수록 신호 추출이 쉬워진다BER - 비트오류율 특정 변조 기법 내에서 SNR이 높을수록 BER이 낮아진다 송신사가 출력세기를 높이면 SNR이 커지고, 수신 비트 오류는 낮아진다하지만 출력 세기를 높이면 송신하는데 .. 2024. 5. 29.
링크 레이어 스위치, 라우터, arp, mac 등의 키워드에 대해서 동작방식에 대해 정리해두기 62p스위치 configuration - 브로드캐스팅을 통해 세그먼트를 뿌리면서 목적지까지 전달하고목적지에서도 다시 브로드캐스팅으로 돌아오면서 연결 65p이더넷 - layer2 switch에서 작동  66p 스위치 라우터 차이 스위치 - layer 2포워딩, flooding을 통해서 보냄, mac 들어온 거 그대로 보내는 느낌라우터 - layer3, 라우팅, ip, 라우팅 알고리즘 • 75p학교에서 랩탑으로 구글 접속할때 일어나는 일 - 종합선물세트 달달 외워서 설명가능하게 1. 먼저 DHCP(udp로 연결) 에서 ip, 서브넷, default gateway router(1 hop 라우터) , dns 주소를 가져온다2. 이.. 2024. 5. 29.
모의테스트 : 나머지 한 점 (해쉬) 문제 설명직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다.제한사항v는 세 점의 좌표가 들어있는 2차원 배열입니다.v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다.좌표값은 1 이상 10억 이하의 자연수입니다.직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 좌표, y축 좌표] 순으로 담아 return 해주세요.입출력 예.. 2024. 5. 23.