본문 바로가기

전체 글

(357)
백준 11054 : 가장 긴 바이토닉 부분 수열 C++ 정답&해설 https://github.com/o920/baekjoon/blob/master/11054.cpp o920/baekjoon Contribute to o920/baekjoon development by creating an account on GitHub. github.com 1. N 입력 받음 2. N개의 수열 입력 받음 3. 왼쪽에서부터 가장 긴 증가하는 수열 구하기 4. 오른쪽에서부터 가장 긴 증가하는 수열 구하기 5. 왼+오 합친 것 중 가장 큰 수 - 1을 해줌 (Sk가 두번 카운트 됐기 때문) #include #include using namespace std; int N; int num[1000]; int dp_left[1000], dp_right[1000]; int main() { cin >..
[2020 정보처리기사 실기 - 소프트웨어 개발 보안 구축] 1. 소프트웨어 개발 보안 설계하기 (2) * 입력데이터 검증 및 표현 관련 보안 1) DBMS 조회 및 결과 검증 - 애플리케이션의 DB연결 계정에 대해 권한을 최소한으로 부여해야 함 - 외부 입력값을 사용하는 SQL 문 생성시 입력값을 정적 바인딩하거나 불가피하게 동적 바인딩을 해야할 경우 입력값 검증 후 사용 2) 시스템 자원 접근 및 명령어 수행 입력값 검증 - 외부 입력값이 시스템 내부자원을 직접적으로 식별하는데 사용되지 않도록 해야함 - 서버 프로그램 내에서 셸을 생성해서 명령어를 실행할 경우 외부 입력값이 실행명령어로 직접 사용되지 않도록 해야함 3) 웹서비스 요청 및 결과 검증 - 사용자 입력값을 동적 생성 페이지에 사용하는 경우 XSS가 유발하지 않도록 입력값을 검증하고 필터링 - DB에 저장된 값을 조회하여 동적 생성 페이지에 ..
[2020 정보처리기사 실기 - 소프트웨어 개발 보안 구축] 1. 소프트웨어 개발 보안 설계하기 (1) * 소프트웨어 개발 보안 1) 소프트웨어의 보안 품질에 영향을 주는 요소 (1) 소프트웨어의 보안 품질에 영향을 주는 요소 - SW 보안 취약점 해킹 등 실제 침해사고에 이용될 수 있는 외부에 노출된 보안 약점 작동하는 시스템을 대상으로 수행하는 동적 검증을 통해 보안 취약점을 확인하는 보안품질 관리활동을 모의해킹이라 함 - SW 보안 약점 보안 취약점의 근본원인이 되는 SW의 결함이나 버그 모든 보안 취약점은 보안약점에 포함됨 SW 보안약점이 존재하지 않도록 개발하는 방법을 개발보안이라고 함 CWE(Common Weakness Enumeration)로 보안약점이 DB화 되이 관리 됨 (2)SW 개발보안 - 해킹 등 사이버 공격의 원인이 될 수 있는 보안약점을 SW 개발단계에서 사전에 제거하는 것을 목적..
[2020 정보처리기사 실기 - SQL 응용] 2. 절차형 SQL 작성하기 * 절차형 SQL 1) 절차형 SQL - SQL 문의 연속적인 실행인 ㅏ조건에 따른 분기, 반복 등의 제어를 활용하여 다양한 기능을 수행하는 DB저장 모듈 반복 또는 자주 수행하는 DB작업을 효율적으로 수행할 수 있으며, 잘 정의된 절차형 SQL은 SW개발 생산성을 높임 - 특징 DBMS 엔진에서 직접 실행되며 BEGIN/END의 블록화된 구조 조건문 반복문 등 단일 SQL문장으로 실행하기 어려운 연속적 작업처리 가능 비즈니스 로직으 캡슐화하여 데이터 관리를 단순화 작업에 필요한 데이터를 DBMS 내부에서 직접 처리해서 IN OUT PACKET이 적음 타절차형 언어에 비해 작업의 효율성은 낮음, DBMS 벤더별로 문법차이가 존재 - 기본구성요소 DECLARE : 대상이 되는 프로시저, 사용자 정의함수 등..
[2020 정보처리기사 실기 - SQL 응용] 1. 응용 SQL 작성하기 * SQL 1) - SQL 개념 : 관계 대수와 관계 해석을 기반으로 집단함수, 그룹화, 갱신 연산 등을 추가하여 개발한 데이터베이스 질의 언어 - SQL 특징 비절차적 언어 : 원하는 바만 명시, 원하는 것을 처리하는 방법은 명시하지 않음 대화식 SQL : 사용자가 명령문을 명쳥랑에 입력하고 실행 결과를 확인하는 방식 내포된 SQL : 프로그래밍 언어에 SQL문을 내포해서 응용프로그램이 실해오딜 때 SQL 문이 작동하는 방식 - SQL 종류 : DDL, DML, DCL 2) SQL 문법 - 자연어에 가까운 문법을 가지고 있어서 배우기가 쉬움 - 데이터를 어떻게 가져올 것인가 말고, 어떤 데이터를 원하는지만 기술 - SQL 명령어나 문법은 표준화 되어 있음, 모든 관계형 데이터베이스 제품에서 공통적으로 ..
백준 11650 좌표 정렬하기 c++ 정답 (pair 사용) https://github.com/o920/baekjoon/blob/master/11650.cpp o920/baekjoon Contribute to o920/baekjoon development by creating an account on GitHub. github.com 1. pair로 x,y좌표를 받음 2. sort(p[0], p[N], compare) 해주고 출력 시간초과가 계속 나서 endl을 \n으로 바꿔주고 얘 추가했더니 코렉트 뜸 #include #include using namespace std; pair p[200000]; bool compare(const pair& a, const pair& b) { if (a.first == b.first) return a.second < b.sec..
[2020 정보처리기사 실기 - 애플리케이션 테스트 관리] 3. 애플리케이션 성능 개선하기 * 애플리케이션 성능 분석 1) 애플리케이션 성능 점검의 개요 - 사용자의 요구 기능을 해당 애플리케이션이 최소의 자원을 사용하면서 얼마나 빨리 많은 기능을 수행하는가를 점검 - 애플리케이션의 성능을 측정하기 위한 지표 처리량 : 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수로, 웹 애플리케이션의 경우 시간당 페이지 수로 표현 응답 시간 : 입력 후 출력까지 시간을 의미, 웹 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기까지 걸리는 시간 경과 시간 : 사용자가 요구를 입력한 시점부터 트랜잭션 처리 후 출력이 완료할 때까지 걸리는 시간 자원 사용률 : 애플리케이션이 트랜잭션 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량 - 유형별 서능 분석 도구 성능/부하/스..
백준 2231 : 분해합 C++ 정답 bruteforce로 1부터 N까지 N의 생성자가 될 수 있는 수를 찾고 찾으면 바로 그 수를 출력하고 못찾으면 0을 출력하게 함 https://github.com/o920/baekjoon/blob/master/2231.cpp o920/baekjoon Contribute to o920/baekjoon development by creating an account on GitHub. github.com #include using namespace std; int solution(int n) { int sum = n; while (n) { sum = sum + n % 10; n /= 10; } return sum; } int main() { int N; cin >> N; for (int i = 1; i < ..