728x90

분류 전체보기 368

[Programmers] level2 - 영어 끝말잇기 (Python) : Summer/Winter coding(~2018)

▶영어 끝말잇기 - Summer/Winter coding(~2018) (level 2) ▶문제 ▶제한사항 문제 및 제한 사항은 너무 긴 거 같아서 링크로 대체하겠습니다. https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ▶출력 입출력 예 #1 3명의 사람이 끝말잇기에 참여하고 있습니다. 1번 사람 : tank, wheel, mother 2번 사람 : kick, land, robot 3번 사람 : know, dream, tank 와 같은 순서로 말..

[Programmers] level2 - 2 x n 타일링 (Python) : 연습문제

▶2 x n 타일링 - 연습문제 (level 2) ▶문제 가로 길이가 2이고 세로의 길이가 1인 직사각형 모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치하는 경우 타일을 세로로 배치하는 경우 예를 들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요. ▶제한사항 가로의 길이 n은 60,000 이하의 자연수입니다. 경우의 수가 많아질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 retur..

[Programmers] level2 - 수식 최대화 (Python) : 2020 카카오 인턴십

▶수식 최대화 - 2020 카카오 인턴십 (level 2) ▶문제 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 보통은 문제를 적는데, 너무 길어서 링크로 대체하도록 하겠습니다. ▶제한사항 expression은 길이가 3 이상 100 이하인 문자열입니다. expression은 공백 문자, 괄호 문자 없이 오로지 숫자와 3가지의 연산자(+, -, *) 만으로 이루어진 올바른 중위 표기법(연산의 두 대상 사이에 연산기호를 사용하는 방식)으로 표현..

[Programmers] level2 - 짝지어 제거하기 (Python) : 2017 팁스타운

▶짝지어 제거하기 - 2017 팁스타운 (level 2) ▶문제 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. ▶제한사항 문자열의 길이 : 1,000,000 ..

[백준/BOJ] platinum5 달성!

드디어 solved.ac에서 platinum5를 달성했다. 방학하고부터 하루 한 문제를 푸는 걸 목표로 꾸준히 달렸고, 100점 정도 남았었다. 오늘까지 20일 연속 문제 풀기도 달성한 상태이다. 방학하고 매일매일 쉬지 않고 한 문제씩 풀었더니 달성한 거 같다. 사실 마지막 문제를 풀기 전에 53점이 남았었다. 한 문제만 푼다고 해서 53점을 한 번에 채울 수 있지 않았다. 평소에 골드 3 한 문제를 풀면 3점이 오르니까...ㅜ 그전부터 class 5를 한 문제씩 풀어왔고 마침 class 5도 한 문제만 풀면 달성할 수 있었다. 그래서 한 문제를 골드 3 수준으로 찾아보았고 때마침 학교 수업시간 과제로 풀었던 문제를 발견했다. 그 문제를 보면서 코드를 조금 변경해서 제출했더니 정답이 나왔고, class ..

BOJ Code 2022.07.11

[백준/BOJ] gold3 - 2252번 줄 세우기 (Python)

▶2252 - 줄 세우기 ▶문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. ▶입력 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 횟수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이다. 학생들의 번호는 1번부터 N번이다. ▶출력 첫째 줄에 학생들을 앞에서부터 줄을 세..

BOJ Code/Gold 2022.07.11

[백준/BOJ] gold2 - 16946번 벽 부수고 이동하기 4 (Python)

▶16946 - 벽 부수고 이동하기 4 ▶문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 변을 공유할 때, 인접하다고 한다. 각각의 벽에 대해서 다음을 구해보려고 한다. 벽을 부수고 이동할 수 있는 곳으로 변경한다. 그 위치에서 이동할 수 있는 칸의 개수를 세어본다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. ▶입력 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. ▶출력 맵의 형태로 정답을 출력한다. 원래 빈칸인 곳은 0을 출력하고, 벽인 곳은 이동..

BOJ Code/Gold 2022.07.11

[컴퓨터망] Internet Security

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. 뒤에 1초라고 적힌 그림(캡처)은 교수님께서 수업하실 때 1초 만에 넘어간 부분이다. 별로 중요하지 않은 부분이라는 생각이 들어서 그림만 넣고 따로 설명은 하지 않겠다. ▶Network Layer Security IP 보안(IPSec)은 IETF가 네트워크 수준에서 패킷에 대한 보안을 제공하기 위해 설계한 프로토콜 모음이다. IPSec은 IP 계층에 대해 인증된 기밀 패킷을 만드는 데 도움이 된다. 전송 모드의 IPSec은 IP 헤더를 보호하지 않는다. 전송 계층에서 들어오는 정보만 보호한다. tunnel mode는 IP 패킷 ..

[컴퓨터망] Cryptography and Network Security

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. 뒤에 1초라고 적힌 그림(캡처)은 교수님께서 수업하실 때 1초 만에 넘어간 부분이다. 별로 중요하지 않은 부분이라는 생각이 들어서 그림만 넣고 따로 설명은 하지 않겠다. ▶Introduction 정보를 보호하려면 무단 액세스(confidentiality)로부터 숨겨야 하며, 무단 변경(integrity)으로부터 보호되어야 하며, 필요할 때(availability) 권한 있는 엔터티가 정보를 사용할 수 있어야 한다. Threat to integrity (홈이 없다.) Modification Masquerading Replaying..

[컴퓨터망] ICMPv6

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. 뒤에 1초라고 적힌 그림(캡처)은 교수님께서 수업하실 때 1초 만에 넘어간 부분이다. 별로 중요하지 않은 부분이라는 생각이 들어서 그림만 넣고 따로 설명은 하지 않겠다. ▶Introduction TCP/IP 프로토콜 스위트의 버전 6에서 수정된 또 다른 프로토콜은 ICMP이다. ICMPv6(Internet Control Message Protocol version 6)는 버전 4와 동일한 전략과 목적을 따른다. ICMPv6는 ICMPv4보다 더 복잡하다. Error messages와 Informational messages는 v..

[컴퓨터망] IPv6 Protocol

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Packet Format IPv6 패킷은 아래 그림에 나와 있다. 각 패킷은 필수 기본 header와 payload로 구성된다. payload는 옵션 확장 헤더와 상위 계층의 데이터라는 두 부분으로 구성된다. 상위 계층의 확장 헤더와 데이터는 최대 65,535바이트의 정보를 포함하는 반면, 기본 헤더는 40바이트를 차지한다. Traffic Class : ver4에서 service type를 가리킨다. Flow label : end to end(hw) control 하려고 했는데 현재는 잘 안 쓴다. (flow는 socket과 ..

[컴퓨터망] IPv6 Addressing

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Topics Discussed in the Section Notations Address Space Three Address Types Broadcasting and Multicasting /뒤에 숫자는 의미 있는 bit의 개수 ▶Address Space Allocation IPv4의 주소 공간처럼 IPv6의 주소 공간은 크기가 다양한 여러 블록으로 나뉘며 각 블록은 특별한 목적을 위해 할당된다. 대부분의 블록은 아직 할당되지 않았으며 나중에 사용할 수 있도록 남겨두었다. 주소 공간에서 각 블록의 할당과 위치를 더 잘 이해하기..

[컴퓨터망] Multimedia (ex. 동영상 볼 때)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Introduction 아래 그림에 표시된 것처럼 오디오 및 비디오 서비스를 크게 세 가지 범주로 나눌 수 있다. Streaming stored audio/video(녹방), Streaming live audio/video(생방) 및 Interactive audio/video다. 스트리밍은 다운로드가 시작된 후 사용자가 파일을 청취(또는 시청)할 수 있음을 의미한다. Streaming stored audio/video은 압축된 오디오/비디오 파일에 대한 주문형 요청을 말한다. Streaming live audio/video은 ..

[컴퓨터망] Network Management: SNMP

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. SNMP : simple network management protocol 망 관리하는 것에 대해서 작성할 것이다. ▶Concept SNMP는 manager와 agent의 개념을 사용한다. 즉, 일반적으로 host인 관리자가 일련의 agent(일반적으로 router 또는 server)를 제어하고 모니터링한다. Manager : 망 관리자 (agent 상태 감시) Agent : 장비 (router, switch) ▶Management Components 관리 작업을 수행하기 위해 SNMP는 SMI(Structure of Manag..

[컴퓨터망] Electronic Mail: SMTP, POP, IMAP and MIME

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Architecture 이메일의 아키텍처를 설명하기 위해, 우리는 네 가지 시나리오를 제공한다. 우리는 가장 간단한 상황부터 시작해서 진행하면서 복잡성을 더한다. 네 번째 시나리오는 이메일 교환에서 가장 흔하다. First Scenario Second Scenario Third Scenario Fourth Scenario 같은 LAN에 물려있어서 network를 통하지 않고도 mail을 전송할 수 있다. e-mail의 발신인과 수신자가 동일한 메일 서버에 있는 경우 두 명의 사용자 에이전트만 있으면 된다. 공유 메일 서버에 직..

[백준/BOJ] gold3 - 2143번 두 배열의 합 (Python)

▶2143 - 두 배열의 합 ▶문제 한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A의 부 배열의 합에 B의 부 배열의 합을 더해서 T가 되는 모든 부 배열 쌍의 개수를 구하는 프로그램을 작성하시오. 예를 들어 A = {1, 3, 1, 2}, B = {1, 3, 2}, T=5인 경우, 부 배열 쌍의 개수는 다음의 7가지 경우가 있다. T(=5) = A[1] + B[1] + B[2] = A[1] + A[2] + B[1] = A[2] + B[..

BOJ Code/Gold 2022.07.10

[컴퓨터망] World Wide Web (service) and HTTP (Protocol)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Architecture WWW는 브라우저를 사용하는 client가 server를 사용하여 서비스에 액세스 할 수 있는 분산 client-server 서비스다. 그러나 제공되는 서비스는 사이트라고 불리는 여러 곳에 분산되어 있다. 각 사이트에는 웹 페이지라고 하는 하나 이상의 문서가 있다. 그러나 각 웹 페이지에는 동일하거나 다른 사이트에 있는 다른 웹 페이지에 대한 일부 링크가 포함될 수 있다. 즉, 웹 페이지는 단순하거나 복합적일 수 있다. page를 다운로드하는 것이다. 그림과 같이 단일 request/response 트랜..

[컴퓨터망] File Transfer: FTP and TFTP

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶FTP FTP(File Transfer Protocol)는 한 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에서 제공하는 표준 메커니즘이다. 한 시스템에서 다른 시스템으로 파일을 전송하는 것은 간단하고 간단해 보이지만 일부 문제는 먼저 해결해야 한다. 예를 들어 두 시스템에서 서로 다른 파일 이름 규칙을 사용할 수 있다. 두 시스템은 텍스트와 데이터를 나타내는 다른 방법을 가질 수 있다. 두 시스템은 서로 다른 디렉터리 구조를 가질 수 있다. 이 모든 문제들은 FTP에 의해 해결되었다. FTP는 TCP 서비스를 사..

[컴퓨터망] Remote Login: TELNET(원격) and SSH

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Telnet TELNET은 TERminal Network의 약자이다. ISO가 제안한 가상 터미널 서비스를 위한 표준 TCP/IP 프로토콜이다. TELNET을 사용하면 로컬 터미널이 원격 시스템의 터미널처럼 보이도록 원격 시스템에 연결할 수 있다. TELNET은 범용 client-server application 프로그램이다. 사용자가 원격 시스템에 있는 응용 프로그램이나 유틸리티에 액세스하려는 경우 원격 로그인을 수행한다. 여기서 TELNET client 및 server 프로그램이 사용된다. LINUX나 window처럼 다 ..

[컴퓨터망] Domain Name System (DNS)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Need for DNS 엔티티를 식별하기 위해 TCP/IP 프로토콜은 인터넷으로의 호스트 연결을 고유하게 식별하는 IP 주소를 사용한다. 그러나 사람들은 숫자 주소 대신 이름을 사용하는 것을 선호한다. 따라서 우리는 주소에 이름을 매핑하거나 이름에 주소를 매핑할 수 있는 시스템이 필요하다. User가 Host name을 FIle transfer client에 전달. FTC는 DNS client로 Host name을 전달. DNS client는 DNS server IP 주소를 사용해 Query와 함께 메시지를 DNS server..

728x90