본문 바로가기

전체 글

(120)
백준 11048 이동하기 Python 문제 바로가기 문제 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있고, 각 방을 방문할 때마다 방에 놓여져있는 사탕을 모두 가져갈 수 있다. 또, 미로 밖으로 나갈 수는 없다. 준규가 (N, M)으로 이동할 때, 가져올 수 있는 사탕 개수의 최댓값을 구하시오. 입력 첫째 줄에 미로의 크기 N, M이 주어진다. (1 ≤ N, M ≤ 1,000) 둘째 줄부터 N개 줄에는 총 M개의 숫자가 주..
백준 2630 색종이 만들기 Python 문제 바로가기 문제 아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다. 전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서와 마찬가지로 모두 같은 색으로 칠해져 있지 않으면 같은 방법으로..
프로토콜 프로토콜(Protocol) 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이라 할 수 있다. 프로토콜의 기본 요소 구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정 프로토콜의 기능 단편화(Fragmentation)와 재합성(Assembly) 단편화 : 송신 측에서는 긴 데이터 블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은..
MSA MSA MicroService Archtecture 대규모 소프트웨어 개발에서 단독 실행가능/ 독립배치가 가능한 모듈 단위로 기능을 분해하여 서비스하는 아키텍쳐 구조. 각 마이크로 서비스는 독립적 실행/운영 기능적으로 완전해야함. 장점 서비스별 개별 배포 가능 특정 부분에 대한 확장성 유연 전체 장애나 오류로부터 확장 가능성이 적음 단점 각각의 처리와 오류에 대한 처리가 개별적으로 필요 세분화될수록 테스트가 어려움. 자동화 필요성이 대두 개별적인 데이터의 무결성에 대한 오류가 있을 수 있음.
백준 15686 치킨 배달 Python 문제 바로가기 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 예를 들어, ..
백준 16928 뱀과 사다리 게임 Python 문제 바로가기 문제 뱀과 사다리 게임을 즐겨 하는 큐브러버는 어느 날 궁금한 점이 생겼다. 주사위를 조작해 내가 원하는 수가 나오게 만들 수 있다면, 최소 몇 번만에 도착점에 도착할 수 있을까? 게임은 정육면체 주사위를 사용하며, 주사위의 각 면에는 1부터 6까지 수가 하나씩 적혀있다. 게임은 크기가 10×10이고, 총 100개의 칸으로 나누어져 있는 보드판에서 진행된다. 보드판에는 1부터 100까지 수가 하나씩 순서대로 적혀져 있다. 플레이어는 주사위를 굴려 나온 수만큼 이동해야 한다. 예를 들어, 플레이어가 i번 칸에 있고, 주사위를 굴려 나온 수가 4라면, i+4번 칸으로 이동해야 한다. 만약 주사위를 굴린 결과가 100번 칸을 넘어간다면 이동할 수 없다. 도착한 칸이 사다리면, 사다리를 타고 위로..
절차 지향 프로그래밍과 객체 지향 프로그래밍 절차 지향 프로그래밍 위에서 아래로 흐르는 것처럼 순차적인 처리를 중요시하는 프로그래밍 대표적 언어로 C언어가 있다. 컴퓨터의 처리 구조와 유사해 실행속도가 빠르다. 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다. 객체 지향 프로그래밍 실제 세계의 사물들을 객체로 모델링하여 개발을 진행하는 프로그래밍 대표적인 언어로 Java가 있다. 절치지향 언어보다 실행속도가 느리다. 캡슐화, 상속, 다형성 등과 같은 기법을 이용할 수 있다. 다형성은 동일한 키보드의 키가 다른 역할을 하는 것처럼 하나의 메소드나 클래스가 다양한 방법으로 동작하는 것을 의미한다. 캡슐화 변수와 함수를 하나 단위로 묶는 것 상속 자식 클래스가 부모 클래스의 특성과 기능을 그대로 물려받는 것 캡슐화를 유지하면서 재사용을 용이하게 해줌..
HTTP와 HTTPS HTTP(HyperTextTransferProtocol) 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 protocol(통신 규약). 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 "통신 형식" 혹은 "통신 구조" 라고 보면 된다. HTTP 기본적으로 request(요청)/response(응답) 구조로 되어있다. Request Message HTTP Request Message는 공백을 제외하고 3가지 부분으로 나누어진다. Start Line Headers Body start line HTTP method 요청의 의도를 담고있는 GET, POST, PUT, DELETE 등이 있습니다. GET은 존재하는 지원에 대한 요청, POST는 새로운 자원을 생성, ..