전체 글
level2_삼각달팽이
문제 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 접근방법 1) 접근 사고 인덱스값을 조절해주면 해결하면 됩니다. 탐색시 방문한 곳을 또 방문해주면 반복문을 탈출하게 설정해주었습니다. 2) 시간 복잡도 O(n^2) 3) 실수 4) 배운점 5) PS 정답 코드 #include using namespace std; const int MAX = 1001; int board[MAX][MAX]; bool visited[M..
좋은 객체 지향 설계의 5가지 원칙(SOLID)
개요 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리한것 1.SRP: 단일 책임 원칙(single responsibility principle) 한 클래스는 한나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수 있고, 작을 수 있다. 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적은 단일 책임 원칙을 잘 따르는 것이다. 예) UI변경, 객체의 생성과 사용을 분리 2.OCP: 개방-폐쇄 원칙 (Open/closed principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 위의 문장은 모순이 존재한다. 다형성을 활용해서 생각해보자 인터페이를 구현한 새로운 클래스를 만들어서 새로운 기능을 구현해보자 ..
4.트랜스포트 프로토콜(세그먼트, 포트번호, well-known port, TCP 연결 설정, TCP 데이터 송수신, TCP 흐름제어, 윈도우 흐름제어, 재전송, Jacobson/Karels 알고리즘, 데이터 경계 표시, TCP 옵션, UDP, UDP헤..
네 번째 쳅터에서는 인터넷의 트랜스포트 계층 프로토콜인 TCP와 UDP에 대해 설명한다. 트랜스포트 계층 IP 계층의 도움을 받아 종점간(end-to-end) 호스트에서 실행되는 프로세스들이 안정적으로 메시지를 송수신 하도록 도와주는 역할을 한다. 인터넷의 트랜스포트 계층 프로토콜에는 TCP와 UDP가 있다. TCP와 UDP는 각각 연결형과 비연결형 서비스를 제공한다. 엡 브라우저는 기본적으로 TCP를 사용하고 비디오 스트리밍에서는 UDP를 사용한다. TCP는 신뢰성 있는 통신 환경을 제공하고 UDP는 TCP보다 간단한 메시지 전달 기능만 제공하는데 이들의 차이는 뒤에서 자세히 설명한다. 앞에서 IP 프로토콜을 설명했는데, IP 프로토콜은 OSI 계층 3의 기능을 수행하며 네트워크 주소를 사용하여 패킷을..