전체 글

전체 글

    [관심IT슈] 관심있게 본 10월 2주 차 IT · 보안 뉴스

    노벨 문학상엔 한강, 노벨 물리학상에는 AI소설가 한강이 2024년 노벨 문학상 수상자로 선정되었다는 사실이 10월 10일 발표되면서, 하룻밤 사이 한강의 소설이 13만 부가 판매되는 등 큰 파장을 일으켰습니다. 매출 증가에 대한 기대감으로 예스24, 밀리의 서재 등 출판 관련 주식 가격 역시 급등했습니다.  노벨상 수상자는 10월 8일 물리학상, 9일 화학상, 10일 문학상, 11일 평화상, 14일 경제학상 순서로 발표되는데요, 가장 먼저 발표된 노벨 물리학상 수상자로는 존 홉프리와 제프리 힌턴이 선정되었습니다. 노벨위원회는 '인공신경망을 이용한 머신러닝을 가능케 하는 기반 발견 및 발명'과 관련한 공로를 세운 점을 높게 평가했다고 설명했습니다.  9일 발표된 노벨 화학상 수상자는 데이비드 베이커 미국..

    [C++] 백준 2606. 바이러스

    문제 설명1번 노드와 연결되어 있는 노드가 몇 개인지 세면 된다.문제 접근단순한 그래프 순회 문제이므로 BFS를 이용한다.1번 노드와 연결된 노드의 개수만 세면 되므로, BFS는 1번 노드를 출발점으로 한 번만 돌아도 된다. 전체 코드#include #include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int numOfCom, numOfPair; cin >> numOfCom >> numOfPair; vector g[numOfCom + 1]; //인접 리스트 vector visited(101, false); /..

    [C++] 백준 1927. 최소 힙

    문제 설명자연수가 입력되면 배열에 추가하고, 0이 입력되면 가장 작은 수를 출력하고 배열에서 제거한다.배열이 비어 있을 때 0이 입력되면 0을 출력한다.문제 접근문제에서도 최소 힙을 사용하라고 되어 있고, 최소 힙은 가장 작은 수가 root에 있도록 정렬되기 때문에 문제에서 요구하는대로 배열이 구성된다. C++에서는 STL인 우선순위 큐를 이용하면 된다.priority_queue는 기본적으로 최대 힙이기 때문에, 옵션을 주어 최소 힙으로 동작하게 수정한다. 전체 코드#include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N,..

    [C++] 백준 1764. 듣보잡

    문제 설명들어본 적 없는 사람 목록과 본 적 없는 사람 목록을 받아 두 목록에 중복된 사람, 즉 '듣도 보도 못한 사람'을 찾는 문제이다.접근집합을 사용하면 사전순으로 자동 정렬된다.두 리스트에서 중복을 찾아내는 방법은 집합이 중복을 허용하지 않는 성질을 이용했다. 먼저 듣도 못한 사람 목록을 집합에 저장한다. 보도 못한 사람 역시 같은 집합에 저장한다. 이때 듣도 보도 못한 사람은 집합에 추가되지 않고, 집합의 크기가 변하지 않는다.보도 못한 사람을 추가했을 때 집합의 크기가 달라지지 않았다면 듣도 보도 못한 사람이다. 전체 코드#include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin...

    [C++] 백준 1620. 나는야 포켓몬 마스터 이다솜

    문제 설명먼저 포켓몬 도감'에 입력할 포켓몬 이름 리스트를 입력받는다,이후 숫자를 입력하면 해당 도감 번호의 포켓몬 이름을 출력하고, 포켓몬 이름을 입력하면 도감 번호를 출력하는 문제이다.접근vector를 이용해서 도감을 구성하고, 이름을 입력받아 도감 번호를 출력할 때 find함수를 이용하면 시간 초과로 문제를 해결할 수 없다.자료 검색에 걸리는 시간을 줄이기 위해 해시 테이블 자료 구조를 사용한다.C++에서는 unnordered_map이라는 STL을 이용하면 된다. 자료 검색에 걸리는 시간복잡도가 O(1)이다. unordered_map m; for(int i = 1; i > s; m.insert({i, s}); } 1번부터 N번까지 해시 테이블로 도감을 만든다.  unorder..

    [C++] 백준 1012. 유기농 배추

    문제 설명직사각형 형태의 밭의 각 좌표마다 배추가 심어질 수 있다. 배추가 심어지면 1로 표현한다. 1로 이어진 구역이 몇 개인지 세는 문제다. 접근직사각형 형태의 밭은 2차원 배열로 표현할 수 있다.2차원 배열 상에서 이어진 1은 DFS나 BFS를 이용해 탐색할 수 있다.DFS나 BFS로 구역을 탐색하고, 한 구역의 탐색이 끝나면 벌레 개수를 증가시킨다.모든 구역이 탐색될 때까지 반복한다. 구현DFS를 이용하기로 한다.static int dx[] = { 0, 1, 0, -1 };static int dy[] = { 1, 0, -1, 0 };void DFS(int x, int y) { visited[x][y] = true; // 상하좌우 네 방향으로 이동 for (int i = 0; i = 0 && nx ..

    제2회 KISIA 정보보호해커톤 후기

    작년에 AI개발보안교육, S개발자 참여자 대상으로 진행했던 제1회 해커톤에 KISIA 기자단으로 기사 작성차 방문했던 적이 있었다. 단체 후드티를 입고 개발하던 모습이 상당히 인상적이었는데, 올해는 전국 대학생을 대상으로 행사가 열렸다. 기획 일정이랑 해외여행 일정이 겹치고 개발 역량도 부족했기에 그냥 하고 싶었던 공부나 해야겠다 싶어 신경끄고 있었는데, 다른 프로그램에서 알게 된 분이 혹시 함께하지 않겠냐 해서 혹해버렸다. 결국 참여하게 되었다. 팀원도 구하는 중이었고 주제, 기획서까지 촉박하게 정해야 했는데, 팀원은 나를 데려온 팀장님께서 대학 후배들을 데리고 진행하게 되었다. 여러 주제가 있었는데 처음 팀장님이 생각했던 주제로 진행했다. 내가 맡게 된 역할은 전혀 해보지 않았던 분야라 애를 먹었는데..

    ubuntu에서 LLVM 기본 버전 바꾸는 방법

    bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"우분투에서 최신 LLVM 버전을 설치하는 방법은 다음과 같다. 하지만 최신 버전을 설치해도 clang --version으로 확인해보면 기본적으로 설치된 clang의 버전만 나왔다.  나의 경우 LLVM과 clang 18이 설치되어 있는데도 불구하고 clang은 14로만 동작했다. 이런 문제를 해결하려면 터미널에서 다음과 같이 입력하면 된다.fuzz@fuzz:~$ sudo suroot@fuzz:~5# ^Croot@fuzz:~# cd /usr/lib/llvm-18/binroot@fuzz:/usr/lib/llvm-18/bin# for f in *; do rm -f /usr/bin/$f; ln -s ../lib/llvm-..