www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net import collections import sys input = sys.stdin.readline n, l, r = list(map(int, input().split())) graph = [list(map(int, input().split())) for _ in range(n)] dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] cnt = 0 while Tr..
www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 모든 경우의 수를 따져야 할 때 재귀적으로 코드를 짜면 구현하기 쉬워진다. 처음에는 모든 경우의 수를 '조합'을 통해 구해놓고 나서 --> 그래프를 탐색하는 식의 방식을 생각했는데 이는 너무나 복잡하다. 마치 운영체제에서 프로그램을 메모리로 로드(load)할 때 모든 명령어와 정적 데이터를 프로그램 실행 전에 한꺼번에 모두 로드하는 것처럼 말이다. 그래서 우아한 코드를 짜려면 경..
1. 트리의 정의 : 계층적 구조를 갖는 자료들을 표현하기 위한 자료 구조이다. ex) 월드컵 본선 대진표, 회사나 학교의 조직도, 인터넷 상점의 상품 분류 기준 등 2. 개요 트리는 현실 세계의 개념을 추상화해 표현하는 자료 구조로 고안되었지만, 탐색형 자료 구조로도 유용하게 쓰인다. 특정한 조건을 지키도록 구성된 트리들을 이용하면 배열이나 리스트를 사용하는 것보다 같은 작업을 더 빠르게 할 수 있기 때문이다. 즉, 어떤 형태로 트리를 구성하느냐, 자료들을 어떻게 배치하느냐에 따라 다양한 형태의 트리가 있을 수 있으며, 이들을 이용해 다양한 문제들을 빠르게 풀 수 있다. 3. 트리의 구성 요소 - 트리는 자료가 저장된 노드(node)들이 간선(edge)으로 서로 연결되어 있는 자료 구조이다. 노드 간에..
1. 프로세스 개념 : 일반적으로 프로세스는 실행 중인 프로그램으로 정의한다. 프로그램은 디스크 상에 존재하며 실행을 위한 명령어와 정적 데이터의 묶음이다. 이 명령어와 데이터 묶음을 읽고 실행하여 프로그램에 생명을 불어넣는 것이 운영체제이다. 여기서 질문!! 위에서 말하는 정적 데이터란 "이미 만들어진 데이터"를 의미한다. 반면에 동적 데이터는 요청이 발생할 때 새로 생성되서 전달되는 데이터이다. 정적데이터는 static 키워드를 통해 지역변수의 소멸시기를 '프로그램 종료 시'로 바꿀 수 있기 때문에 static 변수를 지역변수와 전역변수의 영역으로 끌고 오는 것은 다소 오해의 소지가 있다. 사용자는 하나 이상의 프로그램을 동시에 실행시키기를 원한다. 여러 프로그램을 동시에 실행할 수 있으면, 시스템을..
이 글은 AWS Builders Online Series 의 발표자료를 기반으로 작성했습니다. 1. 왜 클라우드를 사용해야 하는지? - 온프레미스 방식(On-premise)에 비해 클라우드 사용 시 경제적인 장점을 가진다. - 실수요에 대해 탄력적으로, 유연하게 대응하고, 낭비되는 자원 없이, 실제로 사용한 Usage에 대해서만 비용을 지불할 수 있다. 2. AWS 클라우드가 제공하는 장점 - Cost savings : 인프라 비용 감소 - Staff productivity : 직원이 관리하는 virtual machine의 수 증가 - Operational resilience : 서비스 다운타임 감소 - Business agility : 신규 서비스 출시까지 소요되는 time to market 감소 3...
운영체제는 시스템을 사용하기 쉽게 하기 위해(easy to use) 프로그램 실행 시 다양한 일들을 발생시킨다. cf> 프로그램 실행 == ( 반입(fetch) -> 해석(decode) -> 실행(execute) ) 즉 운영체제는 여러 개의 프로그램을 동시에 실행시키거나, 프로그램 간의 메모리 공유를 가능하게 하고, 장치와 상호작용을 가능케 하고, 다양한 흥미로운 일을 할 수 있게한다. ▶ Operationg System(운영체제)란 시스템을 사용하기 편리하면서 정확하고 올바르게 동작시키는 소프트웨어이다. 운영체제는 프로세서, 메모리, 또는 디스크와 같은 물리적인 자원을 이용하여 일반적이고, 강력하고, 사용이 편리한 가상 형태의 자원을 생성한다. 때문에 운영체제를 때로는 가상머신 (virtual mach..
# 목표 - 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기 0. intro - Write Once, Run Everywhere 다른 프로그래밍 언어와 비교했을 때, 자바를 특색 있게 만드는 것은 하나의 자바 프로그램이 어떤 컴퓨터 기종에서도 실행이 가능하는 점이다. 실행 파일을 전혀 변경하지 않아도 된다. 즉, 다시 컴파일할 필요가 없다. 이렇게 자바가 다양한 종류의 컴퓨터에서 실행이 가능한 것은 "가상 기계" 개념 때문이다. 1. JVM이란 무엇인가 다른 프로그래밍 언어의 경우, 소스 코드가 컴파일러에 의하여 특정한 컴퓨터의 기계어로 변환되어서 특정 컴퓨터에서 실행된다. 그러나 자바 컴파일러는 특정한 컴퓨터를 위한 코드를 바로 생성하지 않는다. 대신에 가상적인 컴퓨터의 기계어인 바이트..
- Total
- Today
- Yesterday
- 사용자정의예외클래스
- yarn start
- 자바스크립트Promise
- 자바스크립트Call-back
- @functools.singledispatch
- @functools.lru_cache
- jre
- es6모듈
- sequelize.fn
- nodejs
- dynamic-project
- @functools.wraps
- 정적멤버
- 객체지향개념
- method와 function
- 클래스와객체
- 백준2206 파이썬 풀이
- Git
- 익명자식객체
- 인스턴스멤버
- 백준
- 자바빌드도구
- 자바스레드
- java
- ES6
- 메이븐 저장소
- os
- nunjucks
- 생성자필드메소드
- jdk
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |