[파이썬] 백준 1012 : 유기농 배추 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 실버 2 그래프 이론, DFS, BFS 런타임 에러가 발생할 수 있으므로 sys.setrecursionlimit(10 ** 6) 와 같은 값을 넣어주는 것이 좋다. DFS의 방법을 활용해서 구하는 문제로, dfs기능을 하는 함수 내에서 좌표를 이동하는 방법을 고안해야 한다. 코드 import sys; input = sys.stdin.readline sys.setrecu..
C++의 객체 지향 특성과 장단점 1. 캡슐화 데이터를 캡슐로 싸서 외부의 접근으로부터 보호함(class 키워드를 사용해서 표현) 클래스 : 객체를 만드는 틀 객체 : 클래스라는 틀에서 생긴 실체 붕어빵 틀이 클래스라면, 붕어빵은 객체와 같음 2. 상속성 객체 지향 상속 : 자식이 부모의 유전자를 물려받는 것과 유사 C++에서는 객체가 자식 클래스의 멤버와 부모 클래스에 선언된 모양 그대로 멤버들을 가지고 생성된다. 3. 다형성 하나의 기능이 경우에 따라 다르게 보이거나 다르게 작동하는 현상 연산자 중복, 함수 중복, 함수 재정의(overriding) 연산자 중복 5+2 -> 7 "가을" + "바람" -> "가을바람" 함수 중복 void add(int a, int b){...} void add(int a..
컴퓨터 구조 16 : 프로세서간 통신과 동기화, 캐시의 일관성 프로세서간 통신 멀티 프로세서의 프로세서들은 공통의 입출력 채널을 통해 서로 통신함. 예로, IOP에 연결된 자기 디스크 저장 장치를 통해 시스템 프로그램을 공유할 수 있음. 공유 메모리 멀티 프로세서 시스템에서는 메모리 일부분을 모든 프로세서가 접근할 수 있도록 할당함. 공유 메모리는 프로세서 사이에서 오가는 메시지의 집중지 역할을 함. 메시지를 보냈다는 신호는 소프트웨어에 의한 프로세서간 인터럽트로 구현함. 송신 프로세서가 수신 프로세서에게 인터럽트를 보내 새로운 메시지를 보냈다고 알림. 멀티 프로세서를 위한 운영체제 구조 1 : 주종 모드(master-slave) 주가 되는 프로세서는 항상 운영체제 기능을 수행 나머지 프로세서에서 운영체..
[파이썬] 백준 22659 : 구간 합 구하기4 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 실버 3 누적 합 입력받는 리스트의 범위가 100000이나 되므로 반복문으로 단순구현하면 시간초과가 난다. 따라서 각 인덱스까지의 값을 따로 저장할 리스트를 구현하고 필요한 값을 뽑아쓰는 방식으로 접근해야 한다. 반복문을 사용해 이를 만들어 낼 수 있지만, itertools의 accumulate를 사용하면 해당 리스트의 누적합..
[파이썬] 백준 9461 : 파도반 수열 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 실버 3 수학, DP 숫자들을 쭉 깔아서 보면 바로 규칙이 보일 것이다. 1, 1, 1, 2, 2, 3, 4, 5, 7, 9... i번째의 값은 i-3과 i-2번째의 값의 합으로 이루어져있는 피보나치 수열과 비슷한 규칙을 가지고 있다. import sys; input = sys.stdin.readline T = int(input()) for _ in range(..