wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

전체 글 175

[BOJ][S2] 마인크래프트 - 18111 (Kotlin)

[BOJ][S2] 마인크래프트 - 18111 (Kotlin) 문제 링크 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 분류 브루트포스 알고리즘, 구현 문제 설명 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 땅을 파거나 집을 지을 수 있는 게임이다. 목재를 충분히 모은 lvalue는 집을 짓기로 하였다. 하지만 고르지 않은 땅에는 집을 지을 수 없기 때문에 땅의 높..

Problem Solving/BOJ 2023.04.18

GitHub Tab Character 깃허브 탭 랜더링 사이즈 변경하기 (size 8 -> 4)

이번 포스팅에서는 github의 탭 랜더링 사이즈가 8칸으로 되어있는 것을 바꾸는 방법에 대해 알아볼 것이다. 내가 왜 정보 글을 쓰는가? 문제의 발단은 다음과 같다. 사람 마다 다르겠지만 나는 기본적으로 tab을 사용한다. 탭을 쓰던 space를 쓰던 국룰은 4칸이기도 하고, IDE 설정도 4칸으로 해놓았기에 아무런 문제가 없을 줄 알았다. 이게 무슨,,, github에서 코드를 보면 tabsize = 8로 보여주는것이 아닌가. 이 일은 github에서만 일어나고 있는듯하였다. 내 github에서 남에 코드를 주로 보지, 내 코드 볼일은 별로 없어서 무시하고 지낼려했는데 킹받아서 열심히 찾아보았다. https://github.com/orgs/community/discussions/23860 What's..

ETC 2023.02.18

[BOJ][Gold IV] 미세먼지 안녕! - 17144 (Python)

17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 성능 요약 메모리: 118100 KB, 시간: 384 ms 분류 구현(implementation), 시뮬레이션(simulation) 문제 설명 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 **미세먼지의** 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)..

Problem Solving/BOJ 2023.01.15

📡 [Network] SDN(Software Defined Networking)과 OpenFlow란?

SDN(Software defined networking)이란? 소프트웨어 정의 네트워킹(Software defined networking, SDN)은 개방형 API(오픈플로우)를 통해 네트워크의 트래픽 전달 동작을 소프트웨어 기반 컨트롤러에서 제어/관리하는 접근방식이다. 트래픽 경로를 지정하는 컨트롤 플레인과 트래픽 전송을 수행하는 데이터 플레인이 분리되어 있다. 따라서 네트워크의 세부 구성정보에 얽매이지 않고 요구사항에 따라 네트워크를 관리할 수 있다. 소프트웨어 정의 네트워킹 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org SDN의 등장 이전에는 monolithic(획일적인) 라우터로 네트워크가 구성었었다. 예로 CISCO 같은 라우터 제조사의 같..

📡 [Network] 경계 게이트웨이 프로토콜 BGP(Border Gateway Protocol)란? 뜨거운 감자 라우팅 (Hot Patato Routing)

4. Routing among ISPs BGP (Border Gateway Protocol) OSPF는 AS 내부의 프로토콜이다. 그러나 패킷이 여러 AS를 통과하도록 라우팅 할 때 AS 간 라우팅 프로토콜이 필요할 것이다. 실제로 인터넷 의 모든 AS는 경계 게이트웨이 프로토콜(Border Gateway Protocol)이라고 불리는 동일한 AS 간 라우팅 프로토콜을 가용한다. 이를 일반적으로 BGP라고 한다. 사실상 인터 도메인 프로토콜의 표준이며 이는 모든 라우터에서 동작해야한다. 굉장히 복잡하지만 인터넷의 동작을 좀 더 깊은 수준까지 이해하기 위해서는 그 토대와 동작방식에 익숙해여야 할 것이다. 두 종류의 BGP 프로토콜 (eBGP, iBGP) eBGP (external BGP) : AS간 BGP..

📡 [Network] 최단 경로 우선 OSPF 라우팅이란? (Open Shorst Path First)

인터넷에서의 AS 내부 라우팅 (Intra-ISP Routing) 지금까지의 라우팅 알고리즘은 모든 라우터가 동일한 라우터 알고리즘을 수행하며, 네트워크 전체의 라우팅 경로를 계산한다는 점에서 하나의 라우터를 다른 라우터와 구별할 수 없었다. 이에 따라 확장과 관리 자율성의 문제가 발생하는데, 이는 라우터들을 자율시스템 (autonomous system, AS)으로 조직화하여 해결할 수 있다. 각 AS는 동일한 관리 제어하에 있는 라우터의 그룹으로 구성된다. 한 ISP 의 라우터와 그들을 연결하는 링크가 하나의 AS를 이룬다. 같은 AS 안에 있는 라우터들은 동일한 라우팅 알고리즘을 사용하고 상대방에 대한 정보를 가진다. 이러한 알고리즘은 AS 내부 라우팅 프로토콜 (Intra-autonomous sys..

📡 [Network] 거리 벡터 (Distance Vector) 라우팅 알고리즘이란? 문제와 해결책 (Poisones Reverse)

거리 벡터 라우팅 알고리즘 Distance Vector Routing Protocols 링크 상태 알고리즘이 네트워크 전체정보를 이용하는 중앙 집중협 알고리즘인 반면에, 거리벡터 (DV) 알고리즘은 반복적이고 비동기적이며 분산적인 알고리즘이다. 분산적(distributed) : 각 노드는 하나 이상의 직접 연결된 이웃으로 부터 정보를 받고, 계산을 수행하며 계산된 결과를 다시 인접 노드들에게 배포한다. 반복적(iterative) : 이웃끼리 더 이상 정보를 교환하지 않을 때 까지 프로세스가 지속된다 비동기적(asynchronous) : 톱니바퀴가 돌듯이 모든 노드가 서로 정확히 맞물려 동작할 필요가 없다. 거리 벡터 알고리즘 Distance vector algorithm (DV) 벨만-포드 (Bellma..

📡 [Network] 링크 상태(Link State) 라우팅 알고리즘과 진동 문제 (Ocillations possbile)

Routing Protocols 라우팅 프로토콜 (알고리즘) 라우팅 프로토콜의 목표은 무엇일까? 라우팅 프로토콜의 목표는 송신자부터 수신자까지 라우터의 네트워크를 통 과하는 좋은 경로 결정하는 것이다. 이때 좋은의 의미는 상황에 따라 여러가지 의미를 가질 수 있다. (최소비용, 최고속도, 최소혼잡 등등..) 일반적으로는 최소비용을 말한다. 라우팅을 “잘” 하는 것은 10대 네트워크 도전과제 중 하나이다. 그래프로 추상화하기 라우팅 문제를 나타내는데에는 주로 그래프 자료구조가 사용된다. 그래프는 G = (N, E) 로 나타내는데 N과 E는 각각 노드와 간선의 집합이다. 하나의 간선(엣지)는 집합 N에 속하는 한쌍의 노드로 표현된다. undirected graph를 가정 G = ( N , E ) N : 라우..

📡 [Network] IPv6란? 그 패킷 포멧과 변환 (Tunneling)

IPv6의 개발 32비트 IPV4 주소공간이 인터넷에 접속하는 서브넷과 노드들로 인해 빠른 속도로 고갈되기 시작되자 IETF에서는 1990년대 초 IPv6를 개발하기 시작했다. IPv4는 2^32 개의 유일한 IP 주소를 할당할 수 있지만 IPv6는 2^128 개의 주소 공간을 제공한다. IPv6 개발자들은 IPv4의 축적된 운용 경험에 근거하여 IPv4의 다른면을 확장하고 축소하는 기회로도 삼았다. IPv6 패킷 포멧 IPv6에서는 v4와 달리 헤더가 간소화 되었다. no checksum no fragmentation/ reassembly no options IPv4로 부터 IPv6로의 변환 전세계 인터넷의 모든 라우터가 IPv6로 어떻게 변환할까? 먼저 플래그 데이(flag day)를 선언하는방법이있..

📡 [Network] IP의 주소체계와 주소할당 (CIDR, 서브넷, DHCP, NAT)

IPv4 주소 체계 IP 주소는 정확하게 말하면 호스트나 라우터의 주소가 아니라 그들의 인터페이스의 주소이다. 호스트와 물리적 링크 사이의 경계를 인터페이스(interface)라고 부른다. 라우터는 2개 이상의 연결된 링크가 필요하다. 라우터와 이런 링크 사이의 경계 또한 인터페이스라 하는데, 각 링크마다 하나의 인터페이스를 갖고 하 나의 라우터는 여러 개의 인터페이스를 갖는다. 호스트 또한 wired Ethernet, wirelss 802.11 와 같이 두 개 이상의 인터페이스를 보유할 수 있다. 서브넷 Subnet 서브넷은 라우터를 거치지 않고 물리적으로 연결된 인테페이스 네트워크로, 라우터와 호스트 사이의 영역이다. 위 그림에서 푸른 색으로 칠해진 부분이 각각 하나의 서브넷이라고 볼 수 있다. 왼쪽..

728x90