전체 글 202

백준 17087 자바 - 숨바꼭질6

문제 문제해결 - 자신의 위치와 동생의 위치의 거리를 배열에 담는다 - 배열을 돌면서 모든 수의 최대공약수를 구하면 된다 import java.util.Scanner; public class B17087 { public static int gcd(int a, int b){ if (b==0) return a; return gcd(b, a%b); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int s = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { int tmp = sc.nextInt(); arr..

백준 9613 자바 - GCD 합

문제 문제해결 - 중첩 반복문을 사용해서 모든 쌍의 gcd를 구한 후 결과를 더하면 된다 - 결과는 long에 담아야 한다 import java.util.Scanner; public class B9613 { public static int gcd(int a, int b){ if (b==0) return a; return gcd(b, a%b); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 0; i < n; i++) { int m = sc.nextInt(); int[] arr = new int[m]; for (int j = 0; j < m; j++)..

링크계층 - 스위치

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. Switch - 과거 bus형일때는 매체에 새로운 컴퓨터가 추가됬을경우 직접 선을 구축해야했음, switch를 사용한 star 형일경우 포트에 선만 꽃으면됨 - bus형은 하나의 collision domain으로 구성, star 형은 collision domain을 분리시켜줘서 각각의 컴퓨터를 구분시켜놔 충돌이 발생하지 않게끔함 - switch는 연결만 도와주는 기기, 컴퓨터는 switch의 존재를 신경쓰지 않아도됨 - 동시에 A -> A`, B -> B` 할때 충돌이 안남 - 동시..

백준 2004 자바 - 조합 0의 개수

문제 문제해결 - 이 문제를 풀기 위해서는 공식을 알아야 한다 - n과m의 조합 = 2^(n - (n-m) - m) * 5^(n - (n-m) - m) - getFivePower, getTwoPower 메서드로 n, n-m, m의 5로 나눌 수 있는 개수와 2로 나눌 수 있는 개수를 구한다 - 그렇다면 조합의 2의 승수와 5의 승수를 구할 수 있는데 매칭되는 개수만큼 0이 나온다 import java.util.Scanner; public class B2004 { //num에서 5를 몇개까지 나눌 수 있는지 구하기 public static int getFivePower(int num){ int cnt = 0; while (num >= 5){ cnt += num/5; num /= 5; } return cnt..

백준 1676 자바 - 팩토리얼 0의 개수

문제 문제해결 - 500!은 long으로도 담을 수 없기 때문에 재귀함수로는 구할 수 없다 - 자세한 설명 참고 https://st-lab.tistory.com/165 [백준] 1676번 : 팩토리얼 0의 개수 - JAVA [자바] www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 정말 정말 쉬운 문제다. 알고리 st-lab.tistory.com import java.util.Scanner; public class B1676 { public static void main(String[] args) { Scanner sc = new Scann..

백준 6588 자바 - 골드바흐의 추측

문제 문제해결 - 에라토스테네스의 체를 활용하여 소수를 구한다, boolean 배열에서 소수는 false가 된다 - 홀수 소수만 사용하기 때문에 모든 짝수는 true로 바꾼다, 홀수 소수만 false가 된다 - 3부터 1000000까지 반복문을 돌면서 i가 홀수 소수이며 입력받은 num - i 가 홀수 소수일때는 추측이 성립한다 - b-a가 가장 큰걸 출력해야 하므로 가장 첫번째 것만 출력하고 반복문을 빠져나온다 - 추측이 성립 안될 경우 "Goldbach's conjecture is wrong."를 출력해야 하지만 그런 경우는 없는 듯 하다(flag 변수로 해주는 것이 좋다) import java.util.Scanner; public class B6588 { public static void main(..

링크계층 - LANs

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. Ethernet - LAN이란 게이트웨이를 거치지 않고도 접근이 가능한 네트워크 단위를 뜻함 - 하나의 게이트웨이를 공유하는 매체(medium)가 하나의 LAN - 동일한 prefix를 가지고 라우터를 거치지 않고도 통신이 가능한 서브넷도 LAN으로 구성됨 - 이더넷은 90년대부터 시작했지만 심플하고 효과가 있어 지금까지 사용됨 - 최근에는 switch를 중간에 두는 star형으로 많이 구성됨 - 프레임의 헤더에는 preamble, dest address, source address..

백준 1934 자바 - 최소공배수

문제 문제해결 - 유클리드 호제법을 이용한다 - 먼저 최대공약수를 구한 후 a * b를 한 값에 최대공약수를 나누면 최소공배수를 구할 수 있다 import java.util.Scanner; public class B1934 { //최대공약수 먼저 구하기 public static int gcd(int a, int b){ if (b==0) return a; return gcd(b, a%b); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 0; i < n; i++) { int a = sc.nextInt(); int b = sc.nextInt(); Sys..