본문 바로가기

분류 전체보기226

[알고리즘 개념] 비트마스크(Bitmask) 비트 마스크를 설명하기 앞서, 비트를 알아야한다. 잘 알면 아래부터 보면 됨! 더보기 비트(Bit) 컴퓨터는 이진수를 통해서 모든 자료를 표현한다. 여기서 사용하는 이진수가 데이터의 최소 단위 Bit(binary Disit)이다. 비트는 0 또는 1의 값을 가지며, n개의 비트는 2^0~2^n-1까지 표현 가능하다. 1 = 2^0 = 1 10 = 2^1 = 2 100 = 2^2 = 4 111 = 2^2+2^1+2^0 = 7 3자리의 비트는 1~2^n-1 까지 표현가능 비트 연산자 및 용어 정리 최상위 비트(MSB): 2^n-1 비트 최하위 비트(LSB): 2^0 비트 비트가 켜져있다: 1 비트가 꺼져있다: 0 int는 4byte 총 32비트로 되어있다. ( 최상위 비트는 부호비트 1: -, 0:+) in.. 2022. 1. 14.
[알고리즘 문제풀이] 백준 2667_단지번호붙이기(JAVA) https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net /** * dfs& bfs 풀이(bfs 사용) * * 1. 지도를 돌면서, 집을 만나면 bfs 실행 * * 2. bfs로 방문여부 및 개수 파악(각 번호 카운트 증가) * * 3. bfs 종료 시 각 카운트 번호 출력 * * 4. 다시 지도 돌면서 체크(방문여부로 체크된 곳은 건너뛰기) */ import java.util.*; import java.io.*; public class BJ2667_단지.. 2022. 1. 14.
[알고리즘 문제풀이] 백준 1992 쿼드트리(JAVA) https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net /** * 분할정복 문제 * * 1) 숫자 파악 * * 2) 전체 숫자가 같지 않으면, 4분할 * * 3) 각 분할정보를 기록 */ import java.util.*; import java.io.*; public class BJ1992_쿼드트리 { public static int[][] arr; public static BufferedWriter bw = new BufferedWrit.. 2022. 1. 14.
[네트워크] 전송 계층 서비스의 원리(TCP,UDP) 네트워크 관련 글 순서(참조 영상 기준) 애플리케이션 계층 - 네트워크 애플리케이션의 원리 - DNS - TCP를 이용한 Socket 프로그래밍 전송계층 - 전송 계층 서비스의 원리 - rdt 원리 - 연결 지향 전송: TCP - TCP 흐름 제어(3-way handshake, 4-way handshake) - TCP 혼잡 제어 네트워크 계층 - 네트워크 계층 서비스 - Network Address Translation(NAT), DHCP - 라우팅 알고리즘(Link State, Distance Vector) - 계층적 경로 변경(AS) 링크 계층 - 다중 엑세스 프로토콜 - LANs(근거리 통신망) 무선 및 모바일 네트워크 - 무선 네트워크 웹 요청 시 일어나는일 네트워크 보안 - 대칭키 & 공개키,R.. 2022. 1. 13.
[알고리즘 문제풀이] 백준 2064 IP주소 (JAVA) https://www.acmicpc.net/problem/2064 2064번: IP 주소 네트워크에 연결되어 있는 컴퓨터들은 각각 하나의 IP 주소를 갖게 된다. 그리고 이러한 IP 주소를 갖는 컴퓨터들이 여러 개 모여서 하나의 IP 네트워크를 구성하게 된다. IP 네트워크는 ‘네트워 www.acmicpc.net 문제푸는데 도움이 된 글 https://limkydev.tistory.com/166 [Network] 서브넷마스크(Subnet Mask)란? *선행지식 2018/11/10 - [전공지식/Network] - [Network] IP주소란? 2018/11/11 - [전공지식/Network] - [Network] IP주소 클래스(A,B,C class)란? 1) 서브네팅이란? (Subnetting) 서브.. 2022. 1. 13.
[알고리즘 문제풀이] 백준 1094 막대기(JAVA) https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net /** * 입력데이터 2^6 * * * 비트마스크를 이용한 풀이 * * 64로 나눠서 나올 수 있는 막대는 * 64 32 16 8 4 2 1 * * 결국 비트단위임 * * 숫자를 비트로 봤을때 저런 막대들의 조합이 됨 * * bitCount로 쓰인 숫자(막대)개수 체크 * 출력 */ import java.util.*; import java.io.*; public class BJ1094_막대기 .. 2022. 1. 13.
[알고리즘 문제풀이] 백준 13701 중복제거(JAVA) https://www.acmicpc.net/problem/13701 13701번: 중복 제거 문제: N개의 정수 A1, A2, ..., AN 을 읽고, 이들 중에서 반복되는 수를 제외하고 남은 N'개의 수 B1, B2, ..., BN’ 을 입력된 순서대로 출력하시오. 이때, 0 ≤ Ai < 225 = 33554432, i=1,2,…,N. 입력의 개수 N은 1 www.acmicpc.net /** * 입력값 500만 * 입력데이터 2^25 * * 실패함 ㅠ * * 비트마스크 풀이 * * 1. 비트셋 활용 풀이 * * 입력값을 받으면서, * 현재 데이터가 비트셋에 없었으면 비트셋 표기 및 출력 * 있었으면 패스 * * 2. 배열 + 비트 마스크 * * 배열을 비트셋같이 쓸거임 arr * * int 자료형은 2.. 2022. 1. 13.
Socket Programming(소켓 프로그래밍) 네트워크 관련 글 순서(참조 영상 기준) 애플리케이션 계층 - 네트워크 애플리케이션의 원리 - DNS - TCP를 이용한 Socket 프로그래밍 전송계층 - 전송 계층 서비스의 원리 - rdt 원리 - 연결 지향 전송: TCP - TCP 흐름 제어(3-way handshake, 4-way handshake) - TCP 혼잡 제어 네트워크 계층 - 네트워크 계층 서비스 - Network Address Translation(NAT), DHCP - 라우팅 알고리즘(Link State, Distance Vector) - 계층적 경로 변경(AS) 링크 계층 - 다중 엑세스 프로토콜 - LANs(근거리 통신망) 무선 및 모바일 네트워크 - 무선 네트워크 웹 요청 시 일어나는일 네트워크 보안 - 대칭키 & 공개키,R.. 2022. 1. 12.