https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 시뮬레이션 ⊙ 문제 접근 과정 N*N 땅 크기 M개의 나무 나이 정보 K년 이후 A[r][c] 각 칸에 추가되는 양분 봄 나무가 자신의 나이만큼 양분을 먹고, 나이 1 증가 (어린 나이 순서) 양분 못먹으면 사망 여름 사망한 나무 -> 양분으로 변환 (나이/2 -> 양분) 가을 나이가 5의 배수면 인접한 8개 칸에 ..
연습문제 1. 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어는 무엇인가? 운영체제 2. 가전제품과 같이 CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제를 무엇이라고 하는가? 임베디드 운영체제 3. 사용자가 원하는 기능을 수행하기 위해 컴퓨터 자원을 사용하는 소프트웨어는 무엇인가? 응용 프로그램 4. 운영체제가 없는 컴퓨터에서는 어떤 문제가 발생하는지 설명하시오. 만든 당시 기능 외에 기능을 추가하거나 향상하기가 매우 어렵고 번거롭다. 5. 기계와 사용자 사이에 명령을 전달하고 처리한 결과를 알려주는 것을 무엇이라고 하는가? 인터페이스 6. 프로그램과 데이터를 한 번에 입력한 후 작업의 최종 결과만 얻는 운영체제 방식을 무엇이라..
[쉽게 배우는 운영체제] 1장 : 운영체제의 개요 (1/2) 3. 운영체제의 구조 커널이란? 커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것이다. 자동차의 엔진이라고 생각하면 쉽다. 운영체제는 크게 두 개의 부분으로 나뉜다. 1. 인터페이스 2. 커널 시스템 호출과 디바이스 드라이버 ☞ 시스템 호출 커널이 자신을 보호하기 위해 만든 인터페이스 ☞ 드라이버 하드웨어는 드라이버가 담당 커널의 구성 ① 단일형 구조 커널 초창기 운영체제 구조, 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다. ■ 장점 -모듈간 통신 비용이 줄어들어 효율적인 운영 가능 ■ 단점 -모듈이 하나여서 오류처리 어려움 -상호의존성이 높아 큰 오류 발생 확률 높음 -..
1. 운영체제 소개 OS(운영체제)란 Operating System의 약자로 컴퓨터를 켜면 가장 먼저 만나게 되는 소프트웨어다. 운영체제의 필요성 운영체제가 없는 기계는 만들 당시 구현한 기능밖에 동작하지 않는다. 그렇지만 운영체제가 있는 기계는 기능을 추가하여 성능을 향상시킬 수 있다. 1. 자원 관리 : 운영체제는 적당한 순서로 자원을 분배하고 회수하여 자원을 관리한다. 2. 자원 보호 : 비정상적인 작업(셧 다운)으로부터 컴퓨터 자원을 지켜준다. 3. 하드웨어 인터페이스 제공 : 다양한 종류의 하드웨어를 복잡한 과정 없이 사용할 수 있도록 해준다. 4. 사용자 인터페이스 제공 : GUI(사용자 인터페이스)를 제공하여 사용자가 OS를 좀 더 편리하게 사용하도록 지원한다. ex) 마우스 이용, 터치스크..
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 문자열 스택 ⊙ 문제 접근 과정 이번 코드는 주석이 딱히 필요 없을 것 같아서 넣지 않았다. 여는 괄호가 들어오면 종류별로 구분해서 스택에 push 해준다. 닫는 괄호가 들어오면 먼저 스택에 값이 있는지 확인하고 없다면 no를 출력 값이 있다면 스택 제일 맨 위에 있는 괄호의 종류와 같은지 판별한다. 만약 종류가..
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 ⊙ 문제 접근 과정 vector의 pair를 이용하여 int와 string을 같은 index에 저장해줬다. 나이에 대해 정렬은 직접 구현하였고 순서대로 정렬한 int에 대해서 나이와 이름을 출력해줬다. 하지만 계속 틀리다고 나왔다. (정신 나갈뻔) 나이에 대해서만 정렬해주어서 같은 나이면 입력한 순서대로 정확히 나왔다. 그렇지만 우리는 ..
https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 ⊙ 문제 접근 과정 처음에 배열에 값을 넣어주어 바로 몇 층 몇 호인지만 알면 되게끔 코드를 구성해봤다. 2층 1호(1명) 2호(1+(1+2))명 3호(1+(1+2)+(1+2+3))명 1층 1호(1명) 2호(1+2명) 3호(1+2+3명) 0층 i호(i명) 이렇게 구성되어있는데 이거는 곧 배열 arr[i][j]가 있다면 바로 아래인 i-1층의 1부터 j까지의 합이다. 코드로..
https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 1칸 뒤를 선택하는 경우와 2칸 뒤를 선택하는 경우 2가지를 비교해주어 더 큰 값을 더해주는 점화식을 만들었다. ⊙ 문제 풀이 #include using namespace std; #define MAX 100001 int T, N; int sticker[2][MAX], dp[2][MAX]..
1. 프로그래밍이란? 프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 따라서 커뮤니케이션을 하기 위해 무엇을 실행하고 싶은지 명확히 이해한 후 문제 해결 방안을 정의해야 한다. 이에 요구되는 것이 문제 해결 능력이다. 커뮤니케이션을 위해 문제 해결 능력이 필요하지만 문제 해결 방안을 고려할 때 또 필요한 능력이 있다. 바로 컴퓨팅 사고다. 컴퓨팅 사고란 문제 해결 방안을 고려할 때, 컴퓨터의 입장에서 문제를 바라보는 사고다. 컴퓨터는 0과 1밖에 알지 못하는 기계다. 그러한 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명해야 한다. 한 문장으로 정리하자면 프로그래밍을 하기 위해서는 0과 1밖에 모르는 기계에게 컴퓨팅 사고를 통해 정확하고 상세한 커뮤니케이션을 함으로써 문..
https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 브루트포스 알고리즘 플로이드-와샬 ⊙ 문제 접근 과정 플로이드 와샬을 통해 문제를 풀었다. 먼저 길 없음을 표시하고 입력을 통해 주어진 M개의 길을 뚫어준다. 그다음 플로이드 와샬 알고리즘을 통해 거쳐가는 값이 존재하면 갱신! 그리고 2중 for문을 통해 브루트포스를 구현했다. 배열 v를 만들고..
- Total
- Today
- Yesterday
- java
- Python
- 백준
- 운영체제
- 자바
- 자바스크립트
- Web
- JS
- 문자열
- 정답
- 알고리즘
- CPP
- 프로그래머스
- C++
- 우종정
- 쉽게배우는자바프로그래밍
- 해답
- 그리디
- 파이썬
- 쉽게배우는
- 쉽게 배우는 자바 프로그래밍
- OS
- 연습문제
- 풀이
- 구현
- 정리
- py
- 답
- BFS
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |