프로그래머스 SQL SELECT 정답 1. 모든 레코드 조회하기 1 2 select * from ANIMAL_INS order by ANIMAL_ID asc; 2. 역순 정렬하기 1 2 select NAME, DATETIME from ANIMAL_INS order by ANIMAL_ID desc; 3. 아픈 동물 찾기 1 2 3 selec...
A5/1 구현 C++
A5/1 구현 대칭키 암호화의 스트림 사이퍼의 한 방법인 A5/1을 C++을 이용해서 구현해보았다. 키 값과 평문 입력 우선 키 값과 평문을 입력받는다. 키 값은 64자리의 2진수가 아니라면 오류 메시지를 표시하게 만들었다. 입력받은 평문은 글자 하나당 8비트로 저장해주었다. 1 2 3 // 문자를 8자리로 된 2진수로 바꾸는 과정 for (int...
보안의 3요소 CIA
CIA(Confidentiality Integrity Availability) 정보보안의 3요소인 비밀성, 무결성, 가용성에 대해서 알아보자 비밀성(Confidentiality) 비밀성은 보안의 가장 기본이다. 비밀성이란 어떤 정보에 대해 허가되지않은 읽기를 금지하는 것이다. 쉽게 말하면 보면 안되는 정보를 안보여주려는 것이다. 예를 들어 은행...
백준 17976 Thread Knots c++
문제 https://www.acmicpc.net/problem/17976 문제해설 n개의 선분이 있고 선분은 시작위치와 길이가 주어진다. n개의 선분에 점을 찍을건데 점들 사이의 거리 최소값이 최대가 되도록 점을 찍어야 한다. 그 최대값을 출력해주면 된다. 문제풀이 우선 생각의 전환이 필요하다. 최소값의 최대를 구한다는 것은 최소값을 가장 크게...
백준 7662 이중 우선순위 큐 c++
문제 https://www.acmicpc.net/problem/7662 문제해설 우선순위 큐를 deque처럼 데이터를 앞에서도 빼고 뒤에서도 뺄 수 있게 만들어야 한다. 그리고 그 안의 데이터는 정렬되어있어야 한다. 삽입명령과 삭제명령들이 주어지며 모든 명령들을 수행하고 난 뒤 남은 데이터의 최대값과 최소값을 출력한다. 문제풀이 자료구조 중 ...
백준 10250 ACM 호텔 c++
문제 https://www.acmicpc.net/problem/10250 문제해설 각 층에 W개의 객실이 있는 H층 호텔이 있다. 이 호텔에 손님들이 들어오는데 순서대로 이동거리가 가장 적은 순서대로의 방을 배정한다. 엘리베이터로 이동하는 것은 이동거리에 들어가지 않는다. n번째 손님은 몇호실을 이용해야 하는지 출력해주면 된다. 문제풀이 2중 ...
백준 10252 그리디 그래프 c++
문제 https://www.acmicpc.net/problem/10252 문제해설 m X n의 그리드가 주어진다. 이 그리드는 인접하는 점들과 이어져있고 각 행과 열의 마지막 점과 첫번째 점과도 연결되어있다. 이러한 그리드에서 모든 정점을 한번씩만 지나며 시작점으로 다시 돌아올 수 있는 사이클을 찾아 출력하면 된다. 문제풀이 이 문제는 짝수와 ...
백준 9177 단어 섞기 c++
문제 https://www.acmicpc.net/problem/9177 문제해설 n개의 데이터셋이 주어진다. 각 데이터에는 문자열 3개가 들어있다. 첫번째와 두번째 문자열을 섞어 세번째 문자열을 만들 수 있는지 판별하면 된다. 섞는 방법은 두 문자열을 합치며 각각 문자열의 순서는 바뀌면 안된다. 문제의 예시를 보면 cat과 tree를 이용해 tcr...
sync_with_stdio(false) cin.tie(NULL) cout.tie(NULL)
C++ 입출력 속도 C++의 cin과 cout은 scanf와 printf보다 속도가 느리다. 출력은 큰 차이는 아니지만 입력같은 경우는 2배 이상의 속도 차이가 난다. 그렇기 때문에 백준의 특정 문제에서는 입출력 속도 차이로 문제를 틀리는 경우가 존재한다. 실제 시간이 어느정도 걸리는지 알아보면 입력의 경우 scanf를 쓰는 경우 평균 0.9206...
백준 2270 하노이 탑 c++
문제 https://www.acmicpc.net/problem/2270 문제해설 하노이의 탑의 조건과 똑같다. 다만 이 문제는 원판들이 3개 기둥에 무작위로 퍼져있다. 이 때 몇번째 기둥으로 원판을 모아야 하는지와 원판을 몇번 움직여야 하는지 구하면 된다. 문제풀이 기본적인 생각은 기본 하노이의 탑과 같다. 분할정복을 이용해서 맨 아래의 원판과...