Loading...

[백준] 17413번 단어 뒤집기 2 (JAVA, 구현)

www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 자바에 문자열을 뒤집는 메소드가 없는 것이 아쉽다. 문자 배열 => 리스트 => SORT함수를 쓰던가 이런식으로 FOR문으로 뒤집어 출력해야되는데 아주 귀찮다 ㅠ import java.util.Scanner; public class Main { static String s; public static void main(String[] args) { Scanner sc=new Sca..

[Network] 4장. 네트워크 계층: 데이터 평면

네트워크장은 데이터 평면 (data plain) 4장 - 라우터 입출력 링크 과정을 다룸 제어 평면 (control plain) 5장 - 어떤 경로를 통해 통신을 구성할 것인가 2장으로 나누어서 기술된다. 네트워크 포워딩과 라우팅: 송신 호스트에서 수신 호스트로 패킷을 전달하는 공통적인 기능 포워딩 (나노초 단위) 패킷이 라우터 입력 링크에 도달했을 때 그 패킷을 적절한 출력 링크로 이동시키는 것 데이터 평면에서 구현되는 가장 중요하고 기본적인 기능 라우팅 (포워딩 보다 더 긴 초 단위) 송신자가 수신자에게 패킷을 전송할 때 어떤 라우팅 경로를 통해서 전송할 것인지 결정하는 것 경로를 계산하는 알고리즘을 라우팅 알고리즘이라고 한다. 네트워크 제어 평면에서 구현된다 네트워크 계층이 제공할 수 있는 서비스 ..

[백준] 19532번 수학은 비대면 강의입니다. (java, 완전탐색)

www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 그냥 포문돌리면되는데 어렵게 생각함 바보바보 import java.util.Scanner; public class Main { static int a,b,c,e,d,f; public static void main(String[] args) { Scanner sc=new Scanner(System.in); a..

[백준] 2231번 분해합 (java, 완전탐색)

www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net import java.util.Scanner; public class Main { static int n; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt(); for (int i = 1; i

[백준] 2798번 블랙잭 (java, 완전탐색)

www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net import java.util.Scanner; public class Main { static int[] card; static int n,m; static int answer; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt(); m=sc.nextInt(); card=..

2021. 4. 6. 18:04

[운영체제] 공룡책 - 데드락 (Deadlock) 요약

데드락 어느 프로세스도 자기 일을 할 수 없는 상태 다른 프로세스가 종료되기를 기다리며 계속 기다리는 상태 blocked state: 프로세스가 특정 이벤트를 기다리는 상태 asleep state: 프로세스가 필요한 자원을 기다리는 상태 deadlock state 프로세스가 발생가능성이 없는 이벤트를 기다리는 경우 대기 상태와 교착 상태 비교 대기상태와 교착 상태가 발생하는 위치와 종류가 다르다 기아 상태의 경우 CPU를 운 나쁘게 계속 할당 못받은 것 (추후에 받을 수도 있음) 교착 상태는 앞으로도 해결될 가능성이 없다 선점 선점 자원: 선점 당한 후 다시 돌아와도 문제 없는 자원: 프로세서, 메모리 비선점 자원: 선점 당하면 진행에 문제가 생기는 자원: 디스크 드라이브 (롤백, restart 필요) ..

2021. 4. 6. 14:45

[운영체제] 공룡책 - 가상 메모리 Virtual Storage 요약

비연속 할당 사용자 프로그램을 여러 개의 block으로 분할한다 (Paging, segmentation) 실행 시 필요한 block만 메모리에 적재한다 (나머지는 swap device에 존재) 프로세스를 통째로 올리지 않고 일부만 올려놓고 사용한다 기법 paging system segmentation system hybrid paging/segmentation system Address Mapping 주소 매핑 가상 주소 = 상대 주소 = 논리주소: 연속된 메모리 할당을 가정한 주소 실제주소 = 물리주소 = 절대주소: 실제 메모리에 적재된 주소 Address mapping: 가상 주소를 실제 주소로 매핑하는 작업 Block Mapping 사용자 프로그램 block 단위로 분할 및 관리 Virtual Ad..

[운영체제] 공룡책 - 메모리 관리 Memory Management 요약

메모리(기억 장치 종류) 레지스터 -> 캐시 -> 메인 메모리 -> 보조기억장치 (계층 구조) 왼쪽으로 갈수록 비싸지고 용량이 작고 빠르다 I/O 병목현상 해결하기 위한 계층구조이다 레지스터와 캐시는 CPU 내부에 존재하여 HW가 관리하고 나머지 메모리 종류는 SW(OS)가 관리한다. Block단위 하드디스크 (보조 기억장치)에서 메모리로 데이터를 올릴 때 1비트를 읽더라도 효율성을 위해 해당 1비트만 가가져오는 것이 아니라 block단위로 데이터를 읽어온다. (보통 1~ 4kb) word 단위 메인 메모리에서 레지스터로 데이터를 word 단위로 읽어온다. 컴퓨터에서 32비트, 64비트 시스템은 워드 단위이다. Address Binding 프로그램의 논리 주소(cpu가 생성하는 주소)를 실제 메모리의 물..

[백준] 1212번 8진수 2진수 (java, 구현)

www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 10진수로 변환할 때 int범위를 넘어갈 수 있기 때문에 8진수를 바로 2진수로 바꿔주는 문제이다. 8진수 3자리는 2진수 1자리가 된다는 것을 이용한다. 맨 앞자리의 수가 0으로 시작할 경우를 주의해준다 import java.util.Scanner; public class Main { static String num; static String[] binary= {"000","001","010","011","100","101","110","111"}; //8보다 작음 public static void main(Stri..

[백준] 1774번 우주신과의 교감 (java, mst, 크루스칼)

www.acmicpc.net/problem/1774 1774번: 우주신과의 교감 (1,1) (3,1) (2,3) (4,3) 이렇게 우주신들과 황선자씨의 좌표가 주어졌고 1번하고 4번이 연결되어 있다. 그렇다면 1번하고 2번을 잇는 통로를 만들고 3번하고 4번을 잇는 통로를 만들면 신들과 선자씨끼 www.acmicpc.net m개의 통로가 연결되어있다고 해서 이미 연결된 간선의 수 (cnt) = m으로 초기화했다가 틀렸다. 주어진 연결된 통로가 중복되거나 사이클을 형성하지 않도록 m개의 통로도 union-find 함수를 이용해서 연결해주어야한다. 그 다음에는 순차대로 거리가 작은 순으로 그래프에 추가해준다. import java.util.ArrayList; import java.util.Collection..