본문 바로가기
반응형

전체 글553

백준 C# - 1987 풀다보니 백트래킹 문제였다. 풀다보니 헷갈린게 있어서 버벅거렸다 하핳.. 아래 링크에 있는 알고리즘의 큰 맥란이 매우 비슷하다! 알고리즘에 대한 자세한 설명은 아래 게시글에 있다. 백준 C# - 15649 +) 풀이 대표적인 백트래킹 문제이다. 백트래킹 모든 경우의 수를 탐색하며 더 이상 해가 나올 것 같지 않으면 이전으로 돌아가서 다른 경우를 탐색한다. 풀이 원래 알던 DFS 알고리즘에서는 visited[i] = tru code-piggy.tistory.com 코드 전문 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace baek2 { class Program { static char.. 2024. 3. 12.
네트워크프로그래밍 - HTTP와 HTTPS HTTP(Hyper Text Transfer Protocol 또는 HyperTexT Protocol) WWW(World Wide Web)의 토대이며 하이퍼텍스트 링크를 사용하여 웹페이지를 로드하는데 사용된다. 이는 클라이언트/서버 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 요청에대한 HTTP 응답으로 반환한다. 프로토콜이란? 네트워크나 통신 시스템에서 데이터를 주고 받는데 사용되는 규약이나 규칙의 집합이다. 그러므로 특정한 형식과 구조를 가지며 통신하는 장치들 간에 상호작용하는 방법을 정의한다. 프로토콜은 일반적으로 계층 구조를 가지며 대표적으로 TCP/IP 프로토콜이 있다. 이는 인터넷에서 데이터를 .. 2024. 3. 11.
Effective C# - Item31 시퀀스에 사용할 수 있는 조합 가능한 API를 작성하라 반복 구문이 필요한 경우 단일 요소를 처리하기보다 여러 요소로 구성된 시퀀스를 처리하는 알고리즘을 작성하기 위한 경우가 대부분이다. 반복 구문으로 작업을 진행하는 경우 효율성에 문제가 있다. 전체 컬렉션을 대상으로 단 하나의 작업만을 수행하는 경우는 거의 없고 최초 원본 컬렉션에 대해 다양한 작업을 여러 단계를 걸쳐 수행한 후에야 비로소 원하는 결과를 얻을 수 있는 경우가 대부분이기 때문이다. 대안 개별 요소에 대해 수행해야 하는 모든 작업을 분리된 메서드로 작성한 후 루프 내에서 이 메서드를 호출하는 방법이 있다. 이렇게 코드를 작성하면 메서드의 재사용 가능성이 낮아진다. 여러 단계의 작업을 단번에 수행하도록 작성된 메서드보다 각각의 작업을 개별적으로 수행하는 메서드들이 재사용 가능성이 훨씬 높기 때문.. 2024. 3. 8.
운영체제 - 파일 시스템(파티셔닝, 포매팅), 파일 할당 방법(연속 할당, 연결 할당, 색인 할당) FAT 파일 시스템, 유닉스 파일 시스템 파일 시스템 파일과 디렉터리를 보조기억장치에 할당하고 접근 할 수 있게 하는 운영체제 내부 프로그램이다. 이러한 피일 시스템은 다양한 종류가 있고 하나의 컴퓨터에서 여러 파일 시스템을 사용할 수 있다. 파티셔닝과 포매팅 만약 막 공장에서 생산되어 한 번도 사용된 적이 없는 새 하드 디스크 또는 SSD가 있다고 가정해보자 이 보조 기억장치는 파티셔닝, 포매팅을 하기 전까지는 사용할 수 없다. 파티셔닝(Partitioning) 저장 장치의 논리적인 영역을 구획하는 작업이다. 파티셔닝 작업을 통해 나누어진 영역 하나하나를 파티션이라고 한다. 포매팅(Formatting) 파일 시스템을 설정하여 어떤 방식으로 파일을 관리할지 결정하고 새로운 데이터를 쓸 준비를 하는 작업을 의미한다. 즉 어떤 종류의 파일 시스템을.. 2024. 3. 8.
운영체제 - 파일과 디렉터리(파일,확장자,속성,디렉터리,경로,절대경로,상대경로) 파일(File) 보조기억장치에 저장된 관련 정보의 집합이다. 의미 있고 관련 있는 정보를 모은 논리적인 단위이다. 파일의 정보에는 파일을 실행하는 정보와 부가 정보(= 속성, 메타 데이터)가 있다. 01 파일 속성과 유형 파일 속성 중 파일 유형은 운영체제가 인식하는 파일 종류이다. 같은 이름의 파일일지라도 유형이 다르면 실행 양상도 달라진다. 파일 유형을 알리기 위해 가장 흔히 사용하는 방식은 파일 이름 뒤에 붙는 확장자(Extension)을 이용하는 것이다. 디렉터리 파일들을 일목요연하게 관리하기 위해 디렉터리(Directory)를 이용할 수 있다. 윈도우 운영체제에서는 디렉터리를 폴더(Folder)라고 부른다. 01 1단계 디렉터리(Single-Level Directory) 옛날 운영체제에서는 하나.. 2024. 3. 7.
Effective C# - Item 30 루프보다 쿼리 구문이 낫다 for, while, do/while, foreach등의 다양한 반복 구문이 있는데 이는 일상적인 개발에는 부족함이 없다. 하지만 쿼리 구문을 사용하는 것이 반복문을 사용하는 것보다 더 나은 경우가 있다. 쿼리 구문을 사용할시 장점 LINQ의 지연 실행(Lazy Evaluation) 쿼리 구문을 이용하면 질의의 내용을 구성할 수 있을 뿐 아니라 개별 항목에 대해 수행하려는 작업의 수행 시키를 연기할 수 있다. 쿼리 구문이나 메서드 호출 구문 중 어떤 방식을 쓰더라도 이러한 장점은 동일하다. 그러므로 쿼리가 정의된 시점에서는 실제로 데이터가 계산되지 않고 필요한 시점에서만 연산이 수행된다. 이에 따라 메모리와 성능을 효율적으로 관리할 수 있게 해준다. 가독성 및 유지 보수성 쿼리 구문이나 메서드 호출 구문.. 2024. 3. 7.
반응형