전체 글83 [네트워크] OSI 7계층 OSI 7계층으로 나눈 이유 : 1. 네트워크 흐름을 한눈에 확인할 수 있다. 2. 문제를 해결하기 편리하다. Physical Layer(1계층) : 통신케이블로 데이터를 전송하는 물리적 계층, 전기적인 신호로 전달되는 계층이며 허브가 이 계층에 속한다. DataLink Layer(2계층) : Physical Layer를 통하여 송 · 수신되는 정보의 오류와 흐름을 관리하고 전달하는 계층이다. 통신에서 오류를 찾아주고 재전송을 해준다. 또한 mac 주소를 갖고 통신할 수 있게 해준다. 이 계층에서 전송되는 단위를 frame(프레임) 이라고 부른다. 스위치가 이 계층에 속한다. Network Layer(3계층) : 데이터를 목적지까지 전달하기 위해 경로를 선택하고 패킷을 전달하는 계층이다. 이를 라우팅이라.. 2021. 10. 20. [백준 12100] 2048 (Easy) https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 이 문제는 완전탐색으로 해결 할 수 있는 문제이다. 시간복잡도를 계산해 보면 재귀를 5번 호출하는것 20*20*4^5 인데 4^5는 상하좌우를 움직이면서 재귀호출하고 매번 상하좌우로 움직일때 총 블록의 갯수가 20*20이 되기 때문이다. 이 문제에서 고려해야할 부분은 총 2가지 인데 1. 상하좌우를 움직일때 기존의 map 에서 돌아야하기 때문에 기존 상태를 갖는 map.. 2021. 10. 4. 코틀린 특징 및 자바와 차이점 정리(작성중) 1. 코틀린은 mutable과 immutable 변수를 var와 val이라는 키워드로 쉽게 설정가능 var는 mutable하고 val은 immutable 이다. 자바로 치면 val은 final과 같다. 2. 코틀린은 객체의 초기화에 대해서 늦은 초기화가 가능하다. 즉 변수가 사용될 시점에서 초기화가 가능하다. var 변수의 경우 lateinit var를 설정하면 반드시 한번은 초기화를 해야한다. 반면 val 변수의 경우 선언과 동시에 초기화하는 코드를 넣어주고 변수가 참조될때 초기화가 된다. val lazyTest: String by lazy { "Test" } lateinit var lateInitTest: String fun main() { println(lazyTest) println(lateIni.. 2021. 10. 4. [종만북] 6.5 재귀호출과 완전탐색[게임판 덮기] 게임판 덮기 문제는 3칸짜리 블록을 H x W 의 보드에 몇 가지의 방법으로 맞출수 있는지 구하는 경우의 수 문제이다. 블록은 총 4가지 모양인데 ㄱ, ㄴ, ┌, ┘ 이런 모양으로 되어있다. 사고 과정 0. 블록이 들어가는 갯수가 3의 배수가 아니면 0을 리턴 1. 특정 지점 row와 col에서 위 4가지 모양에 대한 위치를 구하는 배열을 구한다. 2. 해당 모양에 대한 조건이 일치하면 블록을 그리고 일치하지 않으면 다음을 진행 3. 기존 상태를 복구하여 다른 모양일때를 구한다. 4. 모든 맵이 블록으로 꽉차면 리턴한다. 이렇게 사고과정을 하였고 구현을 진행했다. 그런데 구현중에 값이 너무 크게 나와 뭔가 잘못됐다는 걸 느꼇다. 나는 한 블록을 그리고 다음 블록을 그릴 위치를 구할때 i와 j를 0부터 시.. 2021. 9. 29. [종만북] 6.4 재귀호출과 완전탐색[소풍] 소풍 문제는 서로 친구들끼리 짝을 지어주는 경우의 수를 만드는 문제이다. 입력은 학생 수 와 친구 쌍의수가 주어지고 그 다음줄은 서로 친구인 두학생의 번호가 주어진다. 예를 들면 학생수는 4명 친구 쌍은 6쌍일때 0 1 1 2 2 3 3 0 0 2 1 3 0과 1은 친구이고, 1과 2는 친구이고.... 이렇게 숫자 2개씩 한쌍을 이룬다. 그리고 학생수는 항상 짝수이다 사고 과정 1. 문제를 잘못이해 했는데 친구가 아예 없는 경우까지 생각해서 고민을 했다. 2. 이때 생각난건 순열이었는데 중복되는 경우를 어떻게 처리할지 고민했다. 예를 들면 (1,2) (0,3)과 (2,1) (3,0)은 같은 경우인데 순열로 나열하면 다른 경우로 들어가기 때문이다. 결국 순열에 집착해 옳바른 방향으로 생각하지 못하여 데이터.. 2021. 9. 29. [종만북] 6.2 재귀호출과 완전탐색[보글게임] PS를 풀다보면서 재귀와 완전탐색에 대한 사고력이 부족하다고 느껴서 종만북을 사게 되었다. 앞부분에 대한 내용은 PS를 어떻게 잘 풀지에 대한 사고력의 전환과 관련된 내용인데 내 레벨이 부족해서 크게 와닿지 않는다. 그래서 앞부분 조금 읽다가 가장 빠르게 느낄수 있는 6장 부터 시작했다. 6장 첫 번째 문제는 보글게임이라는 문제인데. 알파벳 배열이 입력으로 주어지고 해당 배열에서 원하고자 하는 단어를 맞출수 있는지를 재귀적으로 푸는 문제이다. 예를 들면 'U', 'R', 'L', 'P', 'M' 'X', 'P', 'R', 'E', 'T' 'G', 'I', 'A', 'E', 'T' 'X', 'T', 'N', 'Z', 'Y' 'X', 'O', 'Q', 'R', 'S' 이라는 인풋이 들어올때 PRETTY라는 .. 2021. 9. 22. 이전 1 ··· 3 4 5 6 7 8 9 ··· 14 다음