본문 바로가기

전체 글1002

C언어 229제] 2003년 크로아티아 올림피아드 경진대회 고등부 Seniors 1번 금메달, 은메달, 동메달은 누가? 출처 : 반크_반크 20년 백서 문제]2018년에 대한민국 평창에서 동계올림픽이 개최된다. 그 중에서도 스키는 동계올림픽의 꽃이지만 유독 우리나라에선 인기가 좀 없는 것 같다. 그래서 이번 평창올림픽에선 새로운 스키 경기 규칙이 적용 되었다. 새로 적용된 규칙은 다음과 같다. 스키 경기는 두 번의 경주로 이루어져 있다. 총 N명의 선수가 첫 번째 경주에 참가하고 각각 번호를 부여받는다. 1번 선수부터 N번 선수까지 순서대로 한 명씩 산을 타고 내려간다. 산을 다 내려오면 내려온 선수의 현재 순위가 정해질 것이다. 첫 번째 경주가 끝나고 난 뒤 최종적으로 정해진 순위에 따라서 1등부터 M등까지의 선수들에게만 두 번째 경주에 나갈 수 있는 자격이 주어진다.  두 번째 경주에서는 첫 번째 경주에서 늦게 들어온.. 2025. 2. 17.
C언어 228제] NCP Lv3 수 정렬하기 2 출처 : 반크_반크 20년 백서 문제]N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1  5 5 4 3 2 1예제 출력 1  1 2 3 4 5 출처 : 백준_2751번   참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  int M[1000000]; int B[1000000]; void merge(int A[], int low, int mid, .. 2025. 2. 17.
제로클릭 취약점 구글 프로젝트 제로 연구원 “사용자 상호작용 없이도 공격 가능한 새로운 공격 표면...RCS 기능 비활성화 권고” 삼성 스마트폰에서 사용자의 개입 없이 악성코드를 실행할 수 있는 심각한 보안 취약점이 발견됐다. 이번 취약점은 현재 패치가 완료되었지만, 공격자가 이를 악용하면 수백만 대의 스마트폰이 위험에 처할 수 있었다. ■ 취약점 CVE-2024-49415 이번 취약점은 CVE-2024-49415로 추적되며, 보안 취약점 평가 점수(CVSS)에서 8.1점을 받아 높은 위험도로 평가됐다. 이 취약점은 안드로이드(Android) 12, 13, 14 버전을 실행하는 삼성 스마트폰의 오디오 처리 라이브러리인 libsaped.so에서 발견됐다. 문제가 된 부분은 버퍼 오버플로우로, 공격자가 악의적으로 조작한 오.. 2025. 2. 12.
제로데이 공격(Zero-day Attack) 보안 취약점이 발견되었을 때 그 문제의 존재 자체가 널리 공표되기도 전에 해당 취약점을 악용하여 이루어 지는 보안 공격. 공격의 신속성을 의미하는 것으로, 일반적으로 컴퓨터에서 취약점이 발견되면 제작자나 개발자가 취약점을 보완하는 패치를 배포하고 사용자가 이를 내려받아 대처하는 것이 관례이나, 제로 데이 공격은 대응책이 공표되기도 전에 공격이 이루어 지기 때문에 대처 방법이 없다. 아직 알려지지 않은 취약 지점도 공격할 수 있는 알려지지 않은 프로그램 공격도 이에 속하며, 공격에 이용된 패킷의 특징을 분석해서 아직 발견되지 않은 취약점을 이용한 공격을 차단하는 연구도 진행되고 있으나 아직 확실한 해결책은 발견되지 않고 있다.  출처]한국정보통신기술협회 : 제로데이 공격      ※ 10월 25일은 독도의.. 2025. 2. 12.
C언어 227제] 팩토리얼 나누기(Factovisors) 출처 : 반크_반크 20년 백서 문제]팩토리얼 함수 n!은 모든 음이 아닌 정수 n에 대해 다음과 같이 정의된다. 0! n!=nX(n-1)! (n>0) 다음과 같은 식을 만족하는 정수 k가 존재하면 b가 a로 나뉘어 떨어진다. (a divides b)고 한다. kXa=b 입력 입력은 여러 줄로 구성되며 각 줄에는 두 개의 음이 아닌 정수 n과 m이 입력된다. n과 m은 모두 2^31보다 작다. 출력 입력된 각 줄에 대해 n!이 m으로 나뉘어 떨어지는 지를 나타내는 문장을 출력한다. 문장의 형식은 아래에 나와 있는 형식대로 한다. 입력 예 6 9 6 27 20 10000 20 100000 1000 1009 출력 예 9 divides 6! 27 does not divide 6! 10000 divides 20.. 2025. 2. 6.
C언어 226제] 유크리드 문제(Euclid Problem) 출처 : 반크_반크 20년 백서 문제]유클리드가 밝혀낸 바에 따르면 임의의 정수 A, B에 대해 A와 B의 최대공약수를 D라고 할 때 AX+BY=D를 만족하는 정수 X와 Y가 존재한다. A와 B가 주어졌을 때 위 식으 만족시키는 X와 Y, 그리고 A와 B의 최대공약수 D를 구하라. 입력 한 줄에 두 개씩의 수가 입력되며 두 수는 각각 A와 B다. A와 B는 스페이스로 구분된다(A, B출력 입력된 각 줄에 대해 각각 스페이스로 구분된 세 개의 정수 X와  Y 그리고 D를 출력한다. 식을 만족하는 X와 Y가 여러 개 있으면, |X| + |Y|가 최소가 되는 값을 출력한다(X입력 예 4 6 17 17 출력 예 -1 1 2 0 1 17 출처] Programming Challenges 알고리즘 트레이닝 북(한빛미.. 2025. 2. 5.
C언어 225제] NCP Lv3. 날짜계산 출처 : 반크_반크 20년 백서 문제]준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 이 세 수는 서로 다른 범위를 가진다. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) 우리가 알고있는 1년은 준규가 살고있는 나라에서는 1 1 1로 나타낼 수 있다. 1년이 지날 때마다, 세 수는 모두 1씩 증가한다. 만약, 어떤 수가 범위를 넘어가는 경우에는 1이 된다. 예를 들어, 15년은 15 15 15로 나타낼 수 있다. 하지만, 1년이 지나서 16년이 되면 16 16 16이.. 2025. 2. 3.
C언어 224제] 2006년 한국정보올림피아드 지역본선 초등부 3번/중등부 2번 빙고 출처 : 반크_반크 20년 백서 문제]빙고 게임은 다음과 같은 방식으로 이루어진다. 먼저 아래와 같이 25개의 칸으로 이루어진 빙고판에 1부터 25까지 자연수를 한 칸에 하나씩 쓴다. 다음은 사회자가 부르는 수를 차례로 지워나간다. 예를 들어 5, 10, 7이 불렸다면 이 세 수를 지운 뒤 빙고판의 모습은 다음과 같다. 차례로 수를 지워가다가 같은 가로줄, 세로줄 또는 대각선 위에 있는 5개의 모든 수가 지워지는 경우 그 줄에 선을 긋는다. 이러한 선이 세 개 이상 그어지는 순간 "빙고"라고 외치는데, 가장 먼저 외치는 사람이 게임의 승자가 된다. 철수는 친구들과 빙고 게임을 하고 있다. 철수가 빙고판에 쓴 수들과 사회자가 부르는 수의 순서가 주어질 때, 사회자가 몇 번째 수를 부른 후 철수가 "빙고"를.. 2025. 2. 3.
Python 333제] 2015년 한국정보올림피아드 시˙도 지역본선 초등부 문제. 쇠막대기 출처 : 반크_설과 대보름 문제]출처 : 백준_10799번 참고]C언어 10제] 2015년 한국정보올림피아드 시˙도 지역본선 초등부 문제. 쇠막대기  참고풀이]Str=input() if len(Str)>0 and len(Str)    count=0     Sum=0     for i in range(len(Str)):         count+=1 if Str[i]=='(' else -1         if Str[i-1] == '(' and Str[i]==')':             Sum+=count;         elif Str[i-1] != '(' and Str[i]==')':             Sum+=1     print(Sum) 참고풀이 결과]      대한민국의 아름다운 영토, 독도 2025. 2. 2.
바이러스 토털(Virus Total) 다양한 안티바이러스(antivirus) 엔진과 웹 사이트 스캐너를 통합하여 파일이나 인터넷 주소(URL)에서 바이러스나 악성코드를 찾아 주는 무료 인터넷 보안 플랫폼. 바이러스 토털(virus total)은 2004년에 스페인의 Hispasec Sistemas 보안 회사가 개발한 플랫폼이다. 사용자들이 파일이나 인터넷 주소(URL: Uniform Resource Locator)를 올리면 신속하고 포괄적으로 바이러스를 검사하고 결과를 알려준다. 처음에는 몇 개의 안티바이러스 엔진만 사용되었지만, 시간이 지나면서 점점 더 많은 보안 엔진이 추가되고 기능이 개선되었다. 바이러스 토털은 파일, 인터넷 주소(URL), 도메인, IP 주소 등을 자세히 분석할 수 있으며, 강력한 악성코드 탐지와 분석 기능을 무료로 .. 2025. 2. 2.
AI 기반 사이버 보안(AI-powered security) 인공지능(AI) 기술을 사이버 보안 전 영역에 활용하는 기술. 사이버 보안은 적용되는 영역에 따라 일반적으로 엔드포인트와 시스템 보안, 네트워크 보안, 보안 관제, 애플리케이션 보안으로 구분한다. 각 영역의 사이버 보안 기능은 인공지능 기술을 활용함으로써 강화되어 사이버 위협에 대응하는 능력을 자동화하고 지능화하는 것으로 발전할 수 있다. 엔드포인트와 시스템 보안 영역에서는 악성코드 탐지 기능이 있는 백신 프로그램(vaccine program)을 사용한다. 백신 프로그램은 신종 악성코드를 식별하고 신속히 탐지, 예방하는 데 인공지능을 사용한다. 네트워크 보안 영역의 침입 탐지 시스템(IDS) 및 침입 방지 시스템(IPS)은 네트워크 트래픽과 시스템 동작을 지속적으로 모니터링하여 의심스러운 활동을 식별하는.. 2025. 2. 2.
Pytyon 332제] 파이썬 EXPRESS CHAPTER 6. 도전문제 (2) p296 출처 : 반크_설과 대보름 참고풀이]board= [[' ' for x in range (3)] for y in range(3)] bCount=[[0 for x in range (4)] for y in range(4)] Step=0 bRight=0 # 게임 보드를 그린다. def Board_Print():     for r in range(3):         print("  " + board[r][0] + "|  " + board[r][1] + "|  " + board[r][2])         if (r != 2):             print("---|---|---") #board의 합을 0으로 셋팅한다. def Board_Clear():     global bRight     for i in r.. 2025. 1. 30.
반응형