분류 전체보기(34)
-
[APS] 백준 15998. 카카오머니 C++ 풀이 (최대공약수, GCD, 유클리드 알고리즘)
Gold IV https://www.acmicpc.net/problem/15998 15998번: 카카오머니 만약 유효한 최소 충전 단위 M(1 ≤ M ≤ 9 * 1018)이 존재한다면, 첫 번째 줄에 M 을 출력한다. 가능한 값이 여러 가지 있다면, 그중 9 * 1018 이하인 것을 아무거나 하나 출력한다. 존재하지 않는다면 www.acmicpc.net Problem 처음 카카오머니의 잔액은 0원이다. 무지는 10^100원인 자신의 통장과 카카오머니 계정을 연결했고, 입금 또는 출금을 할 수 있다. 이 때, 충전의 단위는 최소 충전 금액 M이다. 출금 시 잔액이 부족하면 연결된 통장에서 돈을 입금(충전)해야하는데, 카카오머니 잔액이 사용하려는 금액 이상이 될 때 까지 통장에서 M원을 가져온다. 두 정수 ..
2020.08.26 -
[APS] 프로그래머스 60058. 괄호 변환 C++ 풀이 (substr)
Level 2 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr Problem '('와 ')'으로만 이루어진 길이 최대 1000의 문자열 p가 주어진다. 이 때, '('와 ')'의 개수는 동일하다. 문자열 p에 대해 아래 과정을 반복한다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 ..
2020.08.25 -
[APS] 백준 17143. 낚시왕 C++ 풀이
Gold II https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net Problem R×C 크기의 격자판에서 낚시왕이 상어 낚시를 한다. 칸에는 상어가 최대 한 마리 들어있을 수 있고, 상어는 크기와 속도를 가지고 있다. 낚시왕은 처음 1번 열의 한 칸 왼쪽에 있다. 1초 동안 아래에 적힌 일이 순서대로 일어난다. 1) 낚시왕이 오른쪽으로 한 칸 이동한다. 2) 낚시왕이 있는 열에 있는 상어 중에서 땅과 제일 가까운 상어를 잡는다...
2020.08.09 -
[운영체제] 스레드 안전 : Thread-safety (C++과 JAVA)
Thread-safe A data type or static method is threadsafe if it behaves correctly when used from multiple threads, regardless of how those threads are executed, and without demanding additional coordination from the calling code. 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다. 즉, 하나의 함수가 한 스레드로부터 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 함수의 수행 결과..
2020.08.09 -
[운영체제] 멀티스레드 : Multi-thread (장단점, 멀티프로세스와 차이)
Multi-thread 아래 글에서는 프로세스와 스레드에 대한 기본적인 설명을 하지 않습니다. 프로세스와 스레드에 대한 내용은 여기를 참고해주세요 :) 멀티 스레딩(Multi-threading)이란? 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력을 향상 시키는 것 하나의 프로그램에서 동시에 여러 개의 일을 수행할 수 있도록 해줌 (사실 분산처리를 통해 동시에 실행되는 것 처럼 보이는 것) ex) 워드 프로세서에서 그림을 표시하고, 키 입력에 응답하며 철자 및 문법 검사를 계속 함 멀티 스레딩의 장점과 단점 장점 응답성 : 프로그램의 일부분(스레드)이 중단되거나 긴 작업을 수행하더라도 프로그램의 수행이 계속 되어 사용자에 대한 응답성이 증..
2020.08.09 -
[운영체제] 프로세스와 스레드 : Process vs. Thread
Process vs. Thread 프로세스 (Process) 실행 중인 프로그램으로, 디스크로부터 메모리에 적재되어 운영체제로부터 주소 공간, 파일, 메모리 등을 할당 받음 함수의 매개변수, 복귀 주소, 로컬 변수와 같은 임시 자료를 저장하는 프로세스 스택과 전역 변수들을 저장하는 데이터 섹션, 프로세스 실행 중에 동적으로 할당되는 메모리인 힙을 포함 특정 프로세스에 대한 중요한 정보를 저장하고 있는 운영체제의 자료구조를 PCB(Process Control Block)라고 하며, 운영체제는 프로세스의 생성과 동시에 고유한 PCB를 생성하여 프로세스를 관리 스레드 (Thread) 프로세스의 실행 단위. 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 Heap, Data, Code 영역을 공유..
2020.08.09