목록2026/01/06 (7)
cmod.ify
1. 리눅스 편집기의 종류리눅스 환경에서 사용하는 편집기는 작동 방식에 따라 크게 세 가지로 나뉜다.행 단위 편집기: 한 번에 한 줄씩 편집하는 도구 (예: ed, ex, sed)화면 단위 편집기: 터미널 화면 전체를 사용하며 편집 (예: vi, vim)GUI 편집기: 윈도우 메모장처럼 그래픽 환경에서 사용 (예: gedit)2. 모드형 vs 비모드형 편집기가장 대표적인 편집기인 Vim과 Nano의 차이점을 이해하는 것이 중요하다.구분모드형 편집기 (Vim)비모드형 편집기 (Nano)특징입력 모드와 명령 모드가 엄격히 구분됨입력과 명령 구분이 없음 (메모장 방식)장점숙련 시 키보드만으로 초고속 편집 가능직관적이고 배우기 쉬움단점초기 학습 곡선이 높음복잡한 편집 작업 시 효율이 떨어짐조작i, esc, : ..
1. 쉘(Shell)과 프롬프트 기초사용자의 명령을 해석하여 커널에 전달하는 쉘의 기본 구조다.구성 요소내용 및 확인 방법비유/특징프롬프트user@hostname:~$사용자명, 호스트명, 위치 표시로그인 쉘echo $SHELL로그인 시 부여되는 기본 쉘홈 디렉터리~ (Tilde)사용자의 개인 작업 공간권한 표시$ (일반 유저) / # (관리자)현재 실행 권한 상태명령 방식대화식(직접 입력) / 스크립트(파일 실행)실행 방법의 차이2. 명령행 편집 및 제어 단축키터미널 작업 시 마우스 없이 키보드만으로 편집하는 필수 기능이다.분류단축키기능설명비유 및 팁커서 이동Ctrl + A줄의 맨 앞으로 이동Ahead (맨 앞) Ctrl + E줄의 맨 뒤로 이동End (끝) Ctrl + F한 글자 앞으로 이동Forwar..
외부(Windows)에서 가상머신(Ubuntu)에 원격으로 접속하기 위한 SSH 설정 과정을 정리한다.1. OpenSSH 서버 설치 및 서비스 구동리눅스 서버에 외부 접속을 허용하려면 먼저 SSH 서비스를 설치하고 실행해야 한다.패키지 업데이트 및 설치sudo apt updatesudo apt install openssh-server서비스 실행 및 상태 확인Active: active (running) 상태가 표시되면 정상적으로 작동 중인 것이다.sudo systemctl start sshsudo systemctl status ssh2. 방화벽(UFW) 설정리눅스 자체 방화벽에서 SSH 접속 포트(기본 22번)를 허용해주어야 한다.SSH 포트 개방이 명령어를 통해 외부에서 들어오는 SSH 접속 요청을 방화..
1. 리눅스(Linux) 개요리눅스는 리누스 토발즈가 교육용 운영체제인 MINIX를 참조하여 개발한 운영체제다. 'Linus의 UNIX'라는 의미를 담고 있으며, 유닉스(UNIX) 계열에 속한다.UNIX의 역사: 1969년 AT&T 벨 연구소에서 어셈블리어로 처음 개발되었다.리눅스 계통도:데비안 계열: 우분투(Ubuntu) 리눅스가 대표적이다.레드햇 계열: 페도라, CentOS, 레드햇 엔터프라이즈 등이 있다.슬랙웨어 계열: SuSE가 대표적이다.2. 운영체제의 구조리눅스는 크게 커널, 쉘, 애플리케이션의 3단계 구조로 이루어져 있다.Kernel(커널): 운영체제의 핵심이다. 프로세스, 메모리, 파일 시스템, 장치 관리 기능을 수행하며 컴퓨터 자원을 초기화하고 제어한다. 대부분 C언어로 작성되었다.She..
음수 양수 체크하려고 튜플 형식으로 처리함 import sysfrom heapq import *input = sys.stdin.readlineheap = []n = int(input())answer = []for i in range(n): x = int(input()) if x != 0: if x 0: b = 0 # 음수 x = -x else: b = 1 # 양수 heappush(heap, (x, b)) elif x == 0: if heap: px, pb = heappop(heap) if pb == 0: ans..
처음에 슬라이딩 윈도우인지 모르고 그냥 열심히 구현해봤음근데 cnt를 0으로 초기화하는 바람에 겹치는 구간을 파악 못함결국 제미나이의 도움을 받았다. 예시 (N=2)문자열: I O I O I O I[I O I] O I O I -> count = 1I O [I O I] O I -> count = 2 (정답!, answer += 1)여기서 중요! count를 0으로 리셋하지 않고 1로 줄입니다. (앞의 IOI 하나를 창문 밖으로 밀어냄)I O I O [I O I] -> 다시 count = 2 (정답!, answer += 1)IOI라는 한 슬라이딩을 잡고 한칸씩 밀면서 개수를 세나가야 한다. import sysinput = sys.stdin.readlinen = int(input())m = int(input(..
그냥 제출 했는데 틀려서 뭐지 하고 다시 글 봤더니 정렬해서 출력해야 했다앗차차 글을 잘 읽도록 하자 import sysfrom collections import dequeinput = sys.stdin.readlinen = int(input())gra = []for i in range(n): li = input().strip() li2 = [int(i) for i in li] gra.append(li2)dx = [0,0,-1,1]dy = [-1,1,0,0]visited = [[False] * n for _ in range(n)]def bfs(x, y, cnt): q = deque([(x,y)]) visited[x][y] = True while q: cx, c..