반응형

분류 전체보기 661

리눅스 텍스트 에디터 Linux Text Editor

개요Text Editor는 텍스트를 편집하는 프로그램이다window 의 대표적인 Text Editor는 메모장이다.마찬가지로 Linux 에도 Text Editor 가 존재한다. Text Editor 를 알아야 기본적인 코드 작성 / 편집등 모든 개발 작업을 할 수 있다.vundle 을 이용한 다양한 플러그인을 설치하여 효율적인 작업 환경 제공한다. IDEIDE는 통합 개발 환경 으로 Text Editor를 포함한다.Text Editor + 빌드 도구 (컴파일러 / 링커) + 디버깅 도구 + 성능 분석기 등등 Visual Studio Code 는 프로그램을 개발할 때 쓰는 IDE가 아니다.Extention 이라고 부르는 플러그인 들을 설치하여, 자신만의 개발환경을 꾸밀 수 있는 Text Editor이다. ..

[G5] 백준 16935번 배열 돌리기 3 C++ 구현, 시뮬레이션

리뷰 배열을 돌리는 정석적인 문제 90도 회전과 상하, 좌우 반전 배열 그룹화 등이 포함되어 있다.https://www.acmicpc.net/problem/16935 달팽이 처럼 배열을 돌리는 문제보단 난이도가 쉬운 편인 것 같다.아래는 달팽이 처럼 배열을 순회하며 돌리는 문제 백준 17406번 배열 돌리기4 C++ 백트래킹, 구현, 시뮬레이션리뷰 완전 탐색을 통해 배열을 돌리는 경우의 수를 모두 실행하고 최적값을 찾는 문제회전을 하는 횟수인 k의 범위가 6으로 작아서 완전 탐색을 돌려도 시간이 크게 많이 걸리지는 않았다. httpszzzz955.tistory.com 문제 풀이행정보를 나타낼 변수 n, 열정보를 나타낼 변수 m, 회전 요청의 개수 r과 정수형 2차배열 lst를 전역변수로 세팅한다.inpu..

리눅스 root 파일 시스템 구조

개요리눅스에서 root 디렉토리(/)는 파일 시스템의 최상위 디렉토리로, 모든 파일과 디렉토리의 시작점이 된다.이 디렉토리 아래에는 다양한 시스템 디렉토리들이 존재하며, 각각은 특정한 역할을 가지고 있다. 어렸을 적 루팅을 한답시고 커널에 접근했던 기억이 있어 안드로이드와 굉장히 유사한 형태의 디렉토리를 갖고 있는 점에서 뭔가 친숙하고 반가운 느낌이 들었다.  루트의 하위 디렉토리가 수행하는 역할에 대해서 알아보자 /bin시스템의 기본 명령어들이 저장되는 디렉토리, ls, cp, mv, rm 등의 기본 명령어가 여기에 포함된다.시스템 부팅 과정에서 필요한 기본적인 명령어들이므로, /bin 디렉토리에 있는 파일들은 대부분의 리눅스 시스템에서 필수적이다. /boot리눅스 커널과 부팅과 관련된 파일들이 저장되..

리눅스 파일시스템

개요파일 시스템이란 파일을 관리하는 방법을 뜻한다.윈도우 파일시스템은 C:\와 같은 드라이브에서 파일 관리가 시작된다리눅스 파일시스템은 “/” 에서 파일관리가 시작된다. 이를 Root 라고 한다. CLI 창으로 확인하기터미널을 열어 / 로 이동한 뒤 디렉토리 목록을 확인한다.   리눅스파일시스템구조리눅스는 “/”(Root) 를 기준으로 Tree 형태의 파일 시스템을 갖고 있다.윈도우와의 차이점이다. 윈도우는 드라이브 별로 관리, 리눅스는 ”/”로 전체 관리모든 디렉토리는 루트로 통한다, 각각의 디렉토리마다 역할이 존재한다. 파일 명과 경로리눅스에서 파일 이름은 해당 파일이 위치한 경로까지 포함한다.snap 파일의 경로에 대해서 접근하는 다양한 방법이 있다절대 경로 : /home/ssafy/snap상대 경..

리눅스 Shell 쉘

인터페이스두 시스템 또는 장치 사이에 연결을 시켜주는 SW / HW 장치를 의미 ex) 리모컨은 H/W 적인 인터페이스이다.사람은 TV 채널을 바꾸기 위해 코드를 직접 입력할 필요 없이 리모컨을 사용하면 된다.리모컨 내부에 동작이 어떻게 일어나는 지 이해할 필요 없이 손 쉽게 TV를 제어할 수 있다. Shell시스템 사용자와 커널과의 인터페이스를 제공하는 프로그램컴퓨터를 켜면 OS가 부팅된 후, 실행되는 프로그램, 쉘은 마치 조개 껍데기 같이 커널을 감싸고 있어서 붙여진 이름시스템 사용자는 Shell을 통해 커널에 명령을 던진다.시스템 사용자는 Shell을 통해 명령에 대한 결과를 확인한다.Shell 은 두 가지 종류가 있다.CLI Shell: 글자 기반 인터페이스한 번 익히면 굉장히 편리하다편리한 패키..

우분투 패키지 관리 시스템, 패키지 설치

개요iOS / 안드로이드의 Package 관리 시스템으로는 앱스토어, 플레이스토어가 있다.이 앱들은 빌드 완료된 프로그램을 배포하는 역할을 하며 클릭해서 다운 받고 바로 실행이 가능하다. 패키지 관리 시스템은 프로그램 설치, 다운로드, 실행, 제거 역할을 한다. 리눅스의 패키지 관리 시스템에서는 두 가지 버전으로 제공될 수 있다.빌드 완료된 바이너리 패키지라면 그대로 실행하면 됨만약 소스코드 패키지를 받았다면 빌드 후 사용해야 함 우분투 패키지 관리 시스템대표적인 우분투 Package 관리 시스템으로는 APT와 Ununtu Software가 있다.1. APTBinary 형태로 배포소스코드 형태로 배포2. 우분투 소프트웨어Binary 형태로 배포패키지 설치 도구끼리 독립적으로 관리한다.우분투 소프트웨어로 ..

리눅스 Linux 기초

운영체제운영체제란, 하드웨어를 관리하는 프로그램이다.사용자와 하드웨어 사이의 중개자, 하드웨어를 관리하는 모든 역할을 수행한다.임베디드 OS 시장은 리눅스가 지배 하고 있기 때문에 반드시 리눅스에 대해 숙지하여야 한다. OS는 App + Shell + 커널로 구분될 수 있다. Linux는 OS 자체가 아닌, OS의 핵심 소스코드 역할인 커널이다.Linux 에 App, Shell 을 추가하여 만든 하나의 운영체제를 리눅스 배포판 이라고 한다. 우분투우분투는 리눅스 배포판 중 하나로, 오픈 소스이며 리눅스 배포판 중 가장 널리 쓰이는 배포판이다.오픈소스라고 하면, 기업에서 활용이 낮을 거라 생각하지만, 우분투는 안정성이 굉장히 높고, 보안이 강화된 운영체제로 인기가 많다. 사용처리눅스는 서버 PC의 운영체제..

[P5] 백준 가장 긴 증가하는 부분 수열 5 C++ 이분 탐색, lower_bound

리뷰lower_bound를 통해 가장 긴 증가하는 부분 수열을 만들고, 해당 수열의 길이와 변경 내역 정보를 저장 및 역추적 하여 LIS를 출력하는 문제https://www.acmicpc.net/problem/14003관련 문제가장 긴 증가하는 부분 수열 4 : https://www.acmicpc.net/problem/14002 문제 풀이n과 100만 크기 정수 배열 nums, 정수형 벡터 temp, lis를 전역 변수로 초기화 해준다.n값을 입력 받고 nums에 각 수열 정보를 입력 받은 뒤 BS 함수를 실행 시켜준다.pos벡터를 n크기로 초기화 해 준 뒤 n개의 숫자를 모두 탐색해 준다.만약 temp에 i번째 수이상이 존재한다면 해당 위치를 i로 바꿔준다. 없다면 temp의 뒤에 i를 추가해 준다.매..

[G2] 백준 12015번 가장 긴 증가하는 부분 수열 2 C++ 이분 탐색, lower_bound

리뷰 lower_bound를 사용한 이분 탐색 문제 해당 문제를 풀이한다면 다른 문제 하나를 꽁으로 맞출 수 있다.https://www.acmicpc.net/problem/12015공짜 문제 리스트[G2] 가장 긴 증가하는 부분 수열 3 https://www.acmicpc.net/problem/12738[S2] 가장 긴 감소하는 부분 수열 https://www.acmicpc.net/problem/11722 문제 풀이n값을 입력 받고, nums 배열에 수열의 정보를 입력 받는다, BS함수를 실행하고 해당 함수의 리턴값을 출력한다.BS함수 실행 시 빈 벡터 temp를 초기화 해주고, nums 배열 내 n개의 수를 순회하며 탐색을 진행해 준다.i번째 수 이상인 값이 temp내에 존재하는지 lower_bound..

[G1] 백준 1300번 K번째 수 C++ 이분 탐색, 매개 변수 탐색, Parametric Search

리뷰 2차원 배열을 1차원 배열로 옮겨온 후 정렬한 값 중에서 k번째 수를 뽑는 특정 조건을 갖는 이분 탐색 문제 https://www.acmicpc.net/problem/1300 문제 풀이n, k값을 받아오고 left를 1, right를 n * n, result를 0으로 초기화 해준다. 해당 타입들은 모두 long long으로 설정left가 right를 넘지 않는 범위 내에서 while문 실행 mid를 left + right를 2로 나눈 몫으로, cnt를 0으로 초기화 해준다.1부터n까지 탐색하며 mid를 i로 나눈 값을 cnt에 추가해 준다, 이때 해당 값이 n보다 커선 안된다.탐색을 마친 후 cnt가 k보다 크거나 같으면 right 범위를 mid - 1로, 아니라면 left의 범위를 mid + 1로..

728x90
반응형