전체 45

제25회 TOPCIT 시험 후기

지지난주 리눅스마스터 2급 1차 시험에 이어서 오늘 TOPCIT 시험을 치고 왔습니다. 대학의 특정 강의 중 기말고사 점수를 TOPCIT 점수로 반영해서 시험을 치게 됐습니다. TOPCIT 시험에 대해사실 TOPCIT 시험이 잘 알려진 시험이 아니라서 인터넷에서 시험에 대한 유익한 내용을 찾기는 힘듭니다. 일반적으로 TOPCIT 홈페이지에 업로드 된 TOPCIT 에센스라는 6개의 파일로 준비를 하는 것 같습니다. TOPCIT Essence는 아래에서 확인할 수 있습니다. 학습자료 | TOPCIT" data-og-description="" data-og-host="www.topcit.or.kr" data-og-source-url="https://www.topcit.or.kr/board/study.do" ..

etc 2026.05.16

제2602회 리눅스마스터 2급 변경된 1차 시험 합격 후기

방금 막 리눅스마스터 2급 1차 시험을 치고 왔습니다!2차 시험은 다음 회차에 칠 에정이라 1차 후기부터 쓰게 됐습니다. 기출 문제 복기우선 까먹기 전에 시험 내용들 생각나는대로 적어보겠습니다.생각나는대로 적어서 순서가 뒤섞인 점 양해부탁드립니다.리처드 스톨먼과 관련된 FSF, GNUtty의 출력 결과 2문제 거의 똑같이 나옴출력을 다른 입력으로 사용하는 파이프리다이렉션의 표준 입력을 바꾸는 2문제 똑같이 나옴cal의 -y 옵션출력 결과보고 grep인지 find인지 구분하기가상환경 설치 시 IPv4의 기본 설정 값으로 DHCP 설정systemctl의 enabletime 명령어id 명령어ICMP를 사용하는 명령어인 pingMIT LicenseBSD License ← 확실하진 않음useradd의 설명을 주..

etc 2026.05.02

[Database] 관계대수(Relational Algebra)로 SQL Select 이해하기

들어가며이 글은 관계형 데이터베이스에 대한 이해와 지식을 필요로 합니다. 또한, 모바일보단 PC 환경에서 읽기 편하도록 작성됐습니다. 보통 데이터베이스와 SQL을 배울 때 데이터베이스의 이론을 배우고 SQL 문법을 배우면서 실습합니다. 그런데 SQL문을 눈으로만 보면 이해하기 쉬운데 직접 작성하라고 하면 제대로 못하는 사람이 태반입니다. 관계대수는 테이블에서 원하는 결과를 얻기 위해 표현하는 방법을 배우는 학문입니다. 관계대수를 배워서 SQL Select문의 원리를 알면 SQL을 훨씬 깊게 이해하고 사용할 수 있습니다. 하지만 앞서 말했듯이 데이터베이스가 무엇인지. 그리고 관계형 데이터베이스가 무엇인지는 알고 이 글을 읽는 것을 권장합니다. 관계대수(Relational Algebra)1. 정의관계대..

Database 2026.04.01

[Algorithm] 0-1 BFS 알고리즘(격자그래프 편) with Java

들어가며이 글은 아래의 0-1 BFS(인접 리스트 편)과 이어지는 내용입니다. 여기선 격자 그래프에서 0-1 BFS 알고리즘을 구현하는 방법만 다루기 때문에 0-1 BFS 알고리즘을 알고 싶은 분은 아래의 링크에 들어가서 먼저 읽어보고 오는 것을 추천드립니다. [Algorithm] 0-1 BFS 알고리즘(인접 리스트 편) with Java들어가며이번 글은 그래프 탐색에 관한 글입니다. 읽기 전에 아래의 링크에서 그래프 이론을 숙지하고, 너비 우선 탐색 및 데이크스트라 알고리즘을 먼저 익히고 나면 정말 쉽게 배울 수 있습니jundyu.tistory.com 격자 그래프에서 0-1 BFS 문제 정의우선 격자 그래프가 어떻게 주어져야 0-1 BFS 알고리즘을 적용할 수 있을 지 생각해보아야합니다.아래의 그..

Algorithm/Graph 2026.03.07

[Algorithm] IMOS 기법: 누적합과 차분 배열로 빠른 구간 업데이트 with Java

들어가며누적합(Prefix Sum) 알고리즘에서 더 나아가 구간을 빠르게 업데이트하는 IMOS 기법에 대해 설명하는 글입니다. 누적합 알고리즘에 대해 모르는 경우 아래의 글을 먼저 읽고 오시길 바랍니다. [Algorithm] 누적합(Prefix Sum) 알고리즘 with Java들어가며길이가 100만인 배열에서 특정 구간의 합을 구하는 것은 for문을 사용해서 쉽게 구할 수 있습니다. 하지만 구해야하는 특정 구간이 한 번이 아니라 10만 번인 경우엔 어떻게 구할까요? 이jundyu.tistory.com이번 글에선 차분 배열 자료구조와 누적합 알고리즘을 합친 imos 방법에 대해 설명하겠습니다. 차분 배열(Difference Array)1. 의미차분 배열이란 배열의 특정 구간에 값을 더하거나 뺄 때,..

Algorithm 2026.01.27

[Algorithm] 기하 알고리즘 해결을 위한 수학 공식 및 정리 모음 with Java

들어가며최근 대학수학을 복습하면서, 기하 알고리즘 문제를 풀 때 반복적으로 등장하는 개념과 공식을 정리할 필요성을 느꼈습니다.이번 글에서는 기하 알고리즘 문제 해결에 자주 사용되는 핵심 개념들을, 기초적인 내용부터 대학수학 수준까지 정리해보려고 합니다.증명은 생략하고, 수학적 설명과 자바(Java) 코드를 중심으로 설명할 예정입니다.새롭게 공부하며 추가된 내용은 글 하단에 이어서 정리하고, 분량이 많거나 난이도가 높은 주제는 별도의 글로 분리해서 링크를 적어놓겠습니다. 피타고라스 정리(Pythagorean theorem)1. 의미직각삼각형에서 빗변과 나머지 두 변에 대한 관계를 나타낸 식입니다.서로 직각을 이루는 두 변의 길이가 a, b이고 빗변의 길이가 c일 때 아래의 관계를 가집니다.$$a^2+..

Algorithm/Geometry 2026.01.17

[Algorithm] 그레이엄 스캔(Graham Scan) 알고리즘으로 볼록 껍질(Convex hull) 구하기 with Java

들어가며볼록 껍질을 구하는 그레이엄 스캔 알고리즘을 알기 위해선 CCW 알고리즘을 먼저 배워야합니다. CCW 알고리즘에 대해 자세히 설명해둔 글이 있으니 아래 링크 참고해주세요. [Algorithm] CCW 알고리즘 with JAVA들어가며최근에 기하와 관련된 문제를 풀며 점들이 이루는 방향성을 판별하는 알고리즘을 배우게 되었습니다. CCW 알고리즘은 세 점이 이루는 방향을 간단한 연산으로 확인할 수 있는 핵심 알고jundyu.tistory.com 볼록 껍질: Convex Hull1. 볼록한 다각형(Convex Polygon) 왼쪽 도형을 바깥에서 바라봤을 때 기준으로 모든 꼭짓점들이 볼록합니다. 하지만 오른쪽 도형은 빨간색으로 표시된 하나의 꼭짓점이 오목한 것을 볼 수 있습니다. 이렇게 모든 꼭짓점..

Algorithm/Geometry 2025.09.16

[Algorithm] 차량 기지(Shunting Yard) 알고리즘을 이용해 후위 표기식으로 변환하기 with Java

들어가며우리가 일상적으로 사용하는 수식은 대부분 중위 표기법(Infix Notation)입니다. 그러나 수식을 표현하는 방법에는 전위 표기법(Prefix Notation), 후위 표기법(Postfix Notation)도 존재합니다. 이번 글에서는 각각의 표기법에 대해 간단히 알아본 뒤 후위 표기법을 왜 사용해야하는 지와 중위 표기법을 후위 표기법으로 어떻게 변환하는 지에 대해 다뤄보겠습니다. 글의 마지막에 표기법끼리 변환하는 방법도 있으니 참고해주세요. 수식 표기법우선 수식 표기법에 대해 간단히 알아보고 지나가겠습니다. 수식 표기법은 총 3가지로 분류됩니다.전위 표기법 : Prefix Notaion(PN = Polish Notation)중위 표기법 : Infix Notaion후위 표기법 : Postfi..

Algorithm/String 2025.09.03

[Algorithm] 누적합(Prefix Sum) 알고리즘 with Java

들어가며길이가 100만인 배열에서 특정 구간의 합을 구하는 것은 for문을 사용해서 쉽게 구할 수 있습니다. 하지만 구해야하는 특정 구간이 한 번이 아니라 10만 번인 경우엔 어떻게 구할까요? 이번 글에서 알아볼 알고리즘은 누적합이라는 알고리즘입니다. 누적합: Prefix Sum1. 개요배열에서 특정 구간의 합을 반복적으로 구해야 하는 문제가 코딩 테스트에서 자주 등장합니다. 단순하게 매번 특정 구간을 순회하면 시간이 너무 오래걸리기 때문에 이를 개선하기 위해 누적합 기법이 고안되었습니다.누적합은 한 번의 배열 전체 순회를 통해 배열의 합 정보를 저장해두고, 이후 각각의 구간합 요청에 대해 빠르게 응답할 수 있습니다. 2. 시간복잡도원본 배열의 길이가 N일 때, 인덱스 0부터 N-1까지 한번씩의 연산이..

Algorithm 2025.08.07

[Algorithm] 오일러 피 함수로 서로소의 개수 구하기 with JAVA

들어가며처음으로 수학과 관련된 알고리즘을 다뤄보게 되었습니다. 사실 정확히 말하자면 오일러 피 함수는 알고리즘이라기보단 정수론에서 배우는 수학 개념입니다. 의미는 단순하지만 증명은 어렵고 복잡하기 때문에 함수를 외운 뒤 구현하는 법만 이해하면 충분합니다. 오일러 피 함수 : Euler Phi Function1. 정의오일러 피 함수는 자연수 n이 주어졌을 때 n 이하의 자연수 중에 n과 서로소인 수의 개수를 구하는 데 사용됩니다. 2. 표기$$\Large \phi(n)$$함수의 표기는 위와 같고 피(phi)라고 읽습니다. $\phi(6)$이라면 6 이하의 자연수 중 6과 서로소인 자연수는 1, 5가 있으므로 2를 값으로 가집니다. 3. 수식$$\large\phi(x)=n\prod_{p|n}(1-\frac..

Algorithm/Math 2025.06.30