본문 바로가기

전체 글

(233)
[운영체제] CH2. System Structure(1) CPU는 메모리에서 인스트럭션을 읽어와서 실행하는 역할을 수행한다. CPU 안에는 메모리보다 빠른 작은 저장 공간이 있다 ▷ 레지스터 Device Controller가 각 IO 디바이스마다 붙어 있어서 그 장치들을 전담하는 작은 CPU 역할을 한다. ex) '디스크에서 데이터를 읽어 와라' 요청이 들어오면 CPU가 직접 가서 읽어 오는 것이 아니라 disk controller에 요청을 해서 disk controller가 요청을 수행한다. 제어 정보를 위해 control register, status register를 가지고 있다. CPU가 Main Memory라는 작업 공간이 있듯이, 각각의 Device Controller들에게도 local buffer(일종의 data register)라는 작업 공간이 ..
[BOJ-1181][문자열] 단어 정렬 - Java 문제 바로가기 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 중복 제거후, 단어의 길이로 먼저 정렬을 하고, 단어 길이가 같은 경우에는 사전순으로 정렬을 하면 되는 문제입니다. 자바로 custom하게 어떻게 정렬하는지 한참 찾아보고 풀었습니다. import java.io.IOException; import java.util.*; class sortByValueFirst implements Comparator{ @Override public int compare(String o1, String o2) { ..
[BOJ-2667][BFS] 단지번호붙이기 - Java 문제 바로가기 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net 아주 간단한 BFS 문제 입니다. 다만 각 단지에 속하는 집들의 수를 오름차순으로 정렬해야 하니 주의하세여. import java.io.IOException; import java.lang.reflect.Array; import java.util.*; class Dir{ int y; int x; Dir(int y, int x){ this.y = y; this.x = x; } } public class Main { static int N; stati..
[운영체제] CH1. Introduction 운영체제란 무엇인가? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층이다. 좁은 의미에서는 커널을 의미한다. 커널이란 운영체제의 핵심 부분으로, 부팅 이후에 메모리에 상주하는 부분이다. 넓은 의미로는 커널뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념이라고 할 수 있다. 메모리에 상주하지 않는 별도의 프로그램들을 포함하여 운영체제를 정의하기도 한다. 하드웨어에 OS를 설치하면 두 개가 한 몸이 되어 컴퓨터 시스템이 되고 사용자는 이 컴퓨터를 직접 하드웨어에 접근하지 않고 운영체제와 접근하면서 쉽게 사용 가능하다. 운영체제의 목적 컴퓨터 시스템의 자원을 효율적으로 관리하는 것이 가장 중요한 역할이다. 자원(resource)이란 프로세서, 기억 장..
[BOJ-2178][BFS] 미로 탐색 - Java 문제 바로가기 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 어우 10개월 전에 풀었던 건데 자바로 한 번 풀어보았씁니다. 아직 자바가 익숙치 않아 코드가 이쁘지 않기 때문에 혹시 조언해주실게 있으면 댓글에 남겨주세욥 BFS 문제를 풀겠다고 다짐하고 거의 처음 접한 문제였는데, 맨 처음 풀이 방법을 찾아 보고 이마를 탁 쳤던 기억이 납니다. n방문 여부만(true/false) 체크하는 문제만 봤었는데, next 좌표에 왔을 때 cur 좌표에 있는 visited 값 + 1 해서 이동 거리(혹은 시간)을 구하는 건 누가 생각한걸까여 세상엔 참..
[Summer/Winter Coding(2019)][시뮬레이션] 종이접기 - Java 문제 바로가기 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 규칙을 찾아서 풀었씀니다. class Solution { public int[] solution(int n) { if (n == 1) { int[] ret = { 0 }; return ret; } int[] b = solution(n - 1); int[] a = new int[b.length * 2 + 1]; System.arraycopy(b, 0, a, 0, b.length); a[b.length] = 0; int[] c = new ..
2020 상반기 취준 현황 졸업까지 20학점이나 남았지만 8학기 만에 졸업해야겠다고 마음먹고 20학점 풀로 들으면서 취준을 해봤다. 삼성전자 CE/IM SW개발, SK하이닉스 IT 공채를 냈고 현대카드 Software Engineer, 웍스 모바일 SW 개발 전환형 인턴을 냈다. 결과는 모두 서류 광탈!! 부랴부랴 만들었던 포트폴리오를 지금 보자면 보잘것없기 짝이 없다. 뭐든 열심히 해야겠다. 지금은 학기가 슬슬 마무리되고 있고, SSAFY 4기 인터뷰를 앞두고 있다. SSAFY 붙고 100만원씩 받으면서 빡시게 공부하고 싶다.
정렬(Sorting) 선택정렬(Selection Sort) 버블 정렬(Bubble Sort) 삽입 정렬(Insertion Sort) 합병 정렬(Merge Sort) 퀵 정렬(Quick Sort) 참고 In-Place 알고리즘: 입력 배열 이외의 추가적인 메모리가 필요없는 알고리즘 On/Off-line 알고리즘: 정렬 중 추가로 데이터가 들어올 수 있/없는 알고리즘 Stable Sort: 중복된 키를 순서대로 정렬하는 정렬 알고리즘 1.선택 정렬(Selection Sort) Time Complexity - Best O(n2) - Avg O(n2) - Worst O(n2) In-Place Algorithm Off-line Algorithm Unstable Sort 주어진 배열에서 최소값을 찾아서 앞으로 갖다 놓는 알고리즘. 배열..