본문 바로가기

반응형

전체 글

(645)
Synchronization 동기화란? 동기화란 무엇일까??? 동기화란 말에서 오는 느낌처럼 어떤 2개이상의 무엇이 서로 무언가를 공유하고 합쳐지는 상태같은 느낌을 받는다. 컴퓨터과학에서 동기화를 정의하자면 프로세스 또는 스레드들이 수행되는 시점을 조절하여 서로가 알고 있는 정보가 일치하는 상태라고 한다. 프로세스 동기화 - 하나의 자원을 한순간 하나의 프로세스가 사용하는 것 스레드 동기화 - 하나의 코드블록 또는 메소드를 하나의 스레드만 이용하는 것 동기화를 화기위해서는 당연히 서로를 간섭하지 않기위한 LOCK이 필요하다. 서로가 간섭하면 안되는 구간을 우리는 임계구역이라 한다.
병렬처리 병렬 처리(Parallel Processing) 컴퓨터에서 병렬처리란 프로그램 명령어를 여러 프로세서를 분산시켜 동시에 수행함으로써 빠른 시간 내에 원하는 답을 구하는 작업을 일컫는다. 초기의 병렬 처리란 한 프로그램이 입출력을 시작하여 끝나기를 기다른 동안, 다른 계산을 수행을 하는 프로그램이 실행될 수 있도록 하는 것이다. 멀티프로그래밍 다음 단계의 병렬처리는 멀티프로그래밍이다. 멀티프로그래밍 시스템에서는 여러 사용자가 수행시킨 여러 프로그램이 있을 때 한프로그램이 프로세서를 짧은 시간 동안 차지하여 작업을 수행시키고, 운영체제가 그 다음 프로그램이 수행되도록 하는 방식으로 작업을 하였다. 그러면 사용자 입장에서는 모든 프로그램이 동시에 수행되는 것처럼 보인다. 문제점으로는 데드록 현상이 있다. 멀티..
카카오 2차 코테 후기 처음보는 유형에 처음보는 알고리즘 유형 이였다. 1번 시나리오는 80점대가 나왔지만. 2번 시나리오를 어느 방향성으로 접근해도 다 0점 나오는것 ㅜㅜ 근데 이게 찾기도힘든게 한번제출하는데 3분이상이걸려서 버그하나찾기가 너무힘들다는것... 등수는 100위안에 못들었고 140~150위쯤 햇을거 같다. 아마 면접가는 것은 힘들것 같다.
카카오 2차 : JAVA로 JSON 파싱을 해보자! 현재 인턴으로 열심히 일을 하고 있지만.. kakao 2차기회가 주어져서 2차과제이 REST API 테스트를 위해서 간단한 JSON 파싱을 구현해보고한다. REST API라고 말했지만 사실 HTTP API 에 가깝다 그이유는 redbinalgorithm.tistory.com/421 여기를 참고하도록 하자! (사실 지금까지의 내용은 카카오 2차준비와 전~혀 관련없는 내용이다.) mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1 Maven Repository: com.googlecode.json-simple » json-simple » 1.1.1 A simple Java toolkit for JSON com.googlecode.j..
백준 : 13549 www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 �� www.acmicpc.net package naver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; public cla..
백준 : 1519 www.acmicpc.net/problem/1519 1519번: 부분 문자열 뽑기 게임 게임 판에 어떤 자연수 N이 쓰여 있을 때, 두 명의 플레이어가 턴을 번갈아가면서 이 게임을 하려고 한다. 매 턴이 돌아올때마다, 플레이어는 현재 게임 판에 쓰여 있는 수의 진 부분 문자열을 고 www.acmicpc.net 오랜만에 문제 풀어봄.. 탑 다운 메모이제이션으로 풀었고 현재 내턴에서 n - 연속된수 한 결과가 -1 이면 내가 이긴 수라서 그중에서 가장 작은 target 값 찾는다. 만약 모든 결과가 -1이 없으면 어느것을 빼든 내가 지는 턴이기때문에 -1반환 package naver; import java.util.Scanner; public class B1519 { public static void mai..
프로그래머스 : 여행경로 정답은 항상 있다. 그러면 str[] 중 str[1] 을 기준으로 정렬해서 0~n을 방문해서 가장먼저 다돌수 있는게 정답이다 ^^ package excirsize; import java.util.Arrays; import java.util.Comparator; public class 여행경로 { public static void main(String[] args) { String[][] tickets = {{"ICN", "SFO"}, {"ICN", "ATL"}, {"SFO", "ATL"}, {"ATL", "ICN"}, {"ATL","SFO"}}; for(String ans : solution(tickets)) { System.out.print(ans +" "); } } static public Strin..
프로그래머스 : 단어변환 package excirsize; import java.util.LinkedList; import java.util.Queue; public class 단어변환 { public int solution(String begin, String target, String[] words) { int answer = BFS(begin, target, words); return answer; } private int BFS(String begin, String target, String[] words) { int time = 0; Queue q = new LinkedList(); q.add(begin); boolean visit[] = new boolean[words.length]; while (!q.isEmpty(..

반응형