본문 바로가기

728x90

전체 글

[운영체제] 프로세스(Process)란? 1. 프로세스 (Process)컴퓨터에서 연속적으로 실행되고 있는 프로그램이다.프로세스 제어블록(PCB)을 가진 실행 가능한 프로그램이다.운영체제가 관리하는 실행 단위이며, 프로세서가 할당되는 곳이다.2. 스레드 (Thread)프로세스 내에서 실행되는 흐름의 단위이다.하나의 프로세스는 최소 하나 이상의 스레드를 가지며, 스레드는 경량 프로세스라고 불린다.각 스레드는 독립된 스택 영역을 가지지만, 부모 프로세스의 코드, 데이터, 힙 영역을 공유한다.3. 메모리상의 프로세스 영역프로세스 영역설명코드 영역- 실행할 프로그램의 코드가 저장되는 공간- 함수, 제어문, 상수 등이 포함데이터 영역- 전역 변수와 정적 변수가 할당되는 공간- 프로그램 종료 시 메모리에서 소멸스택 영역- 지역 변수와 함수 매개 변수가 저.. 더보기
[백준] 1436번 : 영화감독 숌 - C/C++ 문제 풀이 순서는 간단하다.1. 몇 번째 영화 시리즈인지 n 값 입력 받기2. 초기값 설정3. 종말의 수 구하기  1번과 2번 과정을 한 번에 수행하면 아래와 같다.int n;cin >> n;int num = 666;int cnt = 1; cnt 값의 초기값을 1로 설정한 이유는 다음과 같다.첫 번째 '종말의 숫자'는 666이기 때문에 하나를 이미 찾았다고 가정한다. n번째 종말의 수를 찾을 때까지 while 문을 돌려주자.while (cnt != n) { num++; ... }} n의 값을 증가시켜주는 이유는 숫자를 하나씩 키우면서 666이 포함된 수를 찾아야하기 때문이다.666이라는 수가 포함되어있는지의 여부를 판단하기 위해서는int → string 의 형변환 작업이 필요하다.stri.. 더보기
[Android/Kotlin] Activity와 AppCompatActivity 이번 글에서는 Android에서 쓰이는 Activity에 대해서 알아보고자 한다. Activity 클래스는 Android의 중요한 구성요소 활동이 시작되고 결합되는 방식은 플랫폼 애플리케이션 모델의 일부이다.기존의 프로그래밍 패러다임과 달리 main() 메서드로 실행되는 앱인 경우,Android 시스템은 다음과 같은 방법으로 Activity 인스턴스의 코드를 시작한다.호출의 특정 단계에 해당하는 특정 콜백 메서드를 수명 주기를 지원한다. 새로운 Activity는 어떻게 만들 수 있을까.총 3단계로 나눌 수 있다. 1. Activity 클래스 상속android.app.Activity 또는 androidx.appcompat.app.AppCompatActivity 를 상속받아서 새로운 Activity를 생성한.. 더보기
[백준] 5347번 : LCM - C/C++ 두 수의 최소공배수를 출력하는 간단한 문제이다.1. 테스트 케이스 n 입력 받기2. a, b 입력 받기3. 최소공배수 구하기 vector를 이용하여 a, b를 입력 받을 것이다.그럼 헤더를 추가해주어야 한다.#include  그리고 테스트 케이스와 vector를 통한 a, b 입력 받기int n;cin >> n;vector> vec;int a,b; for(int i = 0; i > a >> b; vec.push_back(make_pair(a,b));} 완벽하게(?) vector에 값이 들어간다. 그리고 이 문제를 해결하는데에 핵심 역할이 되는 함수를 선언해준다.int lcm(ll a, ll b){ return (a * b) / gcd(a, b);} 위와 같이 최소공배수를 구할 수 있다.gcd라.. 더보기
[AI] 스마트시티에서 데이터를 얻는 방법과 가상 환경 활용법 이번 글에서는 네 가지의 질문에 대한 답을 기재하는 방식으로 글을 작성하려 한다. 1. 이미 취득 된 데이터는 어디서 구할 수 있나?이미 취득된 데이터는 KITTI Dataset에서 얻을 수 있다.KITTI Dataset은 지난 글에서 잠깐 언급했었지만 다시 이야기를 이어나가보자. KITTI Dataset은 고해상도 RGB, 회색조 스테레오 카메라 및 3D 레이저 스캐너를 포함한 다양한 센서 모달리티로 기록된 많은 시간의 교통 시나리오로 구성되어 있다.2012년, KITTI Benchmark Suite를 온라인을 통해 딥러닝 학습을 위한 데이터셋을 공개했다.KITTI는 차량에 여러 환경 센서를 탑재하여 취득한 센서의 Raw 데이터를 공개했다. KITTI Dataset은 크게 4개의 구성 요소로 구분할 수.. 더보기
[데이터베이스] 데이터와 데이터베이스, DBMS 데이터베이스는 데이터(data)와 베이스(base)의 합성어이다.DBMS는 Database Management System의 줄임말로, '데이터베이스 관리 시스템'을 뜻한다. 효율적인 데이터 관리 조건데이터를 통합하여 관리데이터 누락 확인과 중복 제거일관된 방법으로 관리여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능파일 시스템데이터베이스 개념이 등장하기 전에는 주로 파일 시스템 방식을 사용하여 데이터를 관리했다.파일 시스템은 서로 다른 여러 응용 프로그램이 제공하는 기능에 맞게 필요한 데이터를 각각 저장하고 관리한다.그렇기 때문에 각 파일에 저장한 데이터는 서로 연관이 없고 중복 또는 누락이 발생할 수 있다. DBMS이러한 파일 시스템의 단점을 보완하기 위해 DBMS 가 등장한다.데이터베이.. 더보기
[책 리뷰] 《Do it! 오라클로 배우는 SQL 입문》 이지스퍼블리싱 서평단으로 선정되어 도서를 지원받아 솔직하게 쓴 글입니다. 컴퓨터공학을 전공하는 사람들 혹은 전공한 사람들 중 데이터 분석가를 자신의 직업으로 삼고 싶어하는 사람은 많다. 데이터 분석가가 무엇일까. 데이터 분석가는 데이터를 정리하고 시각화하며, 데이터의 구조와 저장 방식을 이해하는 사람들이다. 분석 뿐 아니라 데이터의 수집과 저장 그리고 가공까지 이해하는 사람들이다. 데이터 분석가는 엑셀, 파이썬, R 과 같은 도구를 통하여 데이터를 다루지만 기본이 되는 것은 '데이터베이스'이다. SQL을 활용하여 데이터를 추출하고 변형하며 빠른 속도로 정교하게 분석도 가능하다. 나는 학교에서 데이터베이스를 배울 때 아쉬웠던 점이 많았다. 교수님께서 설명은 해주셨다만, 이해가 되지 않았다. 하지만 오늘 리.. 더보기
[백준] 10773번 : 제로 - C/C++ 문제 풀이 순서는 아래와 같다.1. 입력할 숫자의 개수 k 입력2. k개만큼의 수 입력 받기 (0을 입력했다면 최근에 입력한 수 지우기)3. 입력을 완료했다면 남아있는 수 출력하기 최근에 입력한 수를 지우는 방법은 stack을 사용하면 된다.스택은 LIFO의 형태이기 때문에 0을 push 했을 경우에,두 번 pop 해주면 된다. 그렇게 코드를 작성해보자.스택을 사용하기 위해서는 헤더를 추가해주어야 한다.#include  입력받을 개수 k를 입력 받았다고 가정하고,스택을 구현하자.stack st;for(int i=0;i> n; if(n == 0){ if(!st.empty()){ st.pop(); } } else { t.push(n); }} 스택을 이렇게 간단하게 구현할 수 있다!0을.. 더보기

728x90