분류 전체보기
[ 백준 10610 해설 ] ( python ) 30
📚 30 문제 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. 입력 N을 입력받는다. N는 최대 105개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다. 출력 미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. 그 수가 존재하지 않는다면, -1을 출력하라. 예제 입력 1 복사 30 예제 출력 1 복사 30 예제 입력 2 복사 102 예제 출력 2 복사 210 예제 입력 3 복사 2931 예제 출력 3 복사 -1 예제 입력 4 복사 80875542 예제 출력 4 복사 8875..
[ 백준 14889 해설 ] ( python ) 스타트와 링크
📚 스타트와 링크 문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. Sij는 Sji와 다를 수도 있으며, i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치는 Sij와 Sji이다. N=4이고, S가 아래와 같은 경우를 살펴보자..
[ 백준 2665 해설 ] ( python ) 미로만들기
📚 미로만들기 문제 n×n 바둑판 모양으로 총 n2개의 방이 있다. 일부분은 검은 방이고 나머지는 모두 흰 방이다. 검은 방은 사면이 벽으로 싸여 있어 들어갈 수 없다. 서로 붙어 있는 두 개의 흰 방 사이에는 문이 있어서 지나다닐 수 있다. 윗줄 맨 왼쪽 방은 시작방으로서 항상 흰 방이고, 아랫줄 맨 오른쪽 방은 끝방으로서 역시 흰 방이다. 시작방에서 출발하여 길을 찾아서 끝방으로 가는 것이 목적인데, 아래 그림의 경우에는 시작방에서 끝 방으로 갈 수가 없다. 부득이 검은 방 몇 개를 흰 방으로 바꾸어야 하는데 되도록 적은 수의 방의 색을 바꾸고 싶다. 아래 그림은 n=8인 경우의 한 예이다. 위 그림에서는 두 개의 검은 방(예를 들어 (4,4)의 방과 (7,8)의 방)을 흰 방으로 바꾸면, 시작방에서..
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 6주차
OS는 Complexity 소프트웨어 시스템이다. 이를 해결하는 우리의 무기 Abstraction 이를 시스템 디자인에 적용하면 Layerd Arckitecture가 나옴 바닥은 하드웨어, 이 위에는 OS, 그 위에 라이브러리/미들웨어, 이 위에 애플리케이션들이 수행된다 여기서 각 레이어의 역할은 그 아래 복잡한 것들을 보이지 않게, 꼭 필요한 인터페이스만 위로 보이게 한다 레이어와 레이어 사이에 있는 층 API(Application Programming Interface) | 계층과 계층 사이의 통신을 위해 정의된 호출 규약 각 레이어가 만나는 곳에 존재한다. 이와 같이 아래 계층의 복잡함을 추상화시켜서 보여주는 것이 Abstraction 이 결과로 레이어드 아키텍쳐가 존재하게 된다. Layering ..
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 5주차
0. Process Scheduling ✍ Dispacher 유저 프로그램과 유저프로그램 사이에서 == 프로세서 A에서 B로 컨트롤을 넘겨주는 역할을 한다. dispacher가 시행된다는 것은 1. 커널로 excution control이 진입하는 것. 2. 그리고 user process로 excution control이 넘어가는 것. 어떻게 user mode excution에서 커널모드 excution으로 컨트롤이 넘어갈까? 인터럽트 코드를 작성할 때 함수가 넘어가는 것 : function call 하지만 dispacher가 시행될 시 user mode 함수가 아닌 커널 모드 함수가 실행되어야 한다. 커널 모드 함수가 시행되려면 모드 체인지가 일어나야 하는데 모드 체인지가 일어나려면? => 인터럽트가 있..
[ 네트워크 ] TCP/IP 네트워크 기초 상식
1. 서버(제공자)가 있고 클라이언트(사용자)가 있다. 클라이언트가 서버에 접속한다. 클라이언트(브라우저)가 web 서버같은것과 작용해 받아온 내용을 화면에 보여주는 식으로 동작한다 프로토콜 : 약속 명령어로 접속하고 응답할 내용을 정한 것들을 말한다. 대표적으로 1. HTTP HTTP는 하이퍼텍스트. HTML같은 문서를 주고받고 보여줄 수 있는 프로토콜 2. 이메일 보낼때는 SMTP : 메세지를 전달해주기 위한 프로토콜 받을때는 PoP3 이런게 다 약속으로 정해져있다. 3. FTP 파일을 주고받을 때 사용하는 프로토콜 사실 요즘은 많이 사용하지 않는다. 대표적으로 HTTP를 이해해주면 됨. 2. HTTP는 GET으로 요구한다 200 ok는 정상적 404는 page가 없는 것 403은 권한 관련 erro..
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 4주차
0. Process Concepts process는 OS 위에서 프로그램을 수행시키는 기본 주체. = 런타임 시스템의 수행 주체 = CPU나 여러가지 자원의 할당을 받는 주체. decomposition의 한 유닛이 process why? 날로 복잡해지는 컴퓨터에 대응할 수 있는 무기 Abstraction (추상화) Decomposition 전체를 분석하기 어려울 때 여러 개로 쪼개는 것. 각각의 조각을 이용하기가 쉬워질때까지 = 복잡한 문제를 단순한 여러 문제로 나누는 방법론 이와 같이 나눠진 문제들이 process가 된다 what? 수행 중인 프로그램 == 프로세스. 특정 프로세스의 상태 위에서 수행되는 excution stream. 📌 질문 프로그램과 프로세스는 뭐가 다른가? 차이 1 프로그램은 저장..