일요일[벌써 일요일이네]
1. DFS/BFS 정리
2. 다이나믹 프로그래밍 정리
3. 알고리즘
4. 암기고래
5. 정보처리기사
6. ㅅㅅㅇㅇ 정리
1>
DFS란?
Depth-First Search
깊이 우선 탐색
최대한 깊이 내려간 뒤, 더이상 갈 곳이 없을경우 옆으로 이동
미로찾기를할 때 최대한 한방향으로 갈 수 있을 때까지 쭉 감
- 모든 노드를 방문하고자할 때 이 방법을 선택함
- BFS에 비해 느림
스택 또는 재귀함수로 구현
BFS란?
Breadth-First Search
너비 우선 탐색
최대한 넓게 이동한 다음,더 이상 갈 수 없을 때 아래로 이동
루트노드에서 시작해서 인접한 노드를 먼저 탐색하는 방법
최단 경로를 찾고 싶을 때
큐를 이용해서 구현
2>
다이나믹 프로그래밍 정리 [동적 계획 법]
최적의 경로를 찾을 때 활용
대표적인 예시 피보나치
# 한번 게산된 결과를 메모이제이션하기 위한 리스트
memo = [0]*100
# 피보나치 수열을 재귀함수로 구현(topdown)
def fibo(x):
# fibo(1)=fibo(2)=0
if x==1 or x==2:
return 1
# 이미 계산한 적있는 문제라면 그대로 반환
if memo[x] != 0:
return memo[x]
# 아직 계산하지 않은 문제라면 점화식에 따라서 피보나치 결과 반환
memo[x] = fibo(x-1)+fibo(x-2)
return memo[x]
print(fibo(99))
3>
중복된 문자 제거
def solution(my_string):
a = []
for i in my_string:
if i not in a:
a.append(i)
return "".join(a)
다른사람이 한 풀이
def solution(my_string):
return ''.join(dict.fromkeys(my_string))
중복이 허용되지 않는 dict를 사용
팩토리얼
def solution(n):
answer = 1
result = 0
if n == 1:
return 1
if n == 2:
return 2
for i in range(1,n):
answer *= i
if answer < n:
result = i
continue
elif answer == n :
result = i
break
elif answer >n:
break
return result
다른사람이 한 풀이
import math
def solution(n):
answer = 0
for i in range(1, 12):
if n < math.factorial(i):
return i - 1
return answer
math 함수 사용
A로 B 만들기
def solution(before, after):
before = list(before)
after = list(after)
try:
for i in before:
after.remove(i)
return 1
except:
return 0
다른사람이 한 풀이
def solution(before, after):
return 1 if sorted(before)==sorted(after) else 0
sorted 를 사용
내적
def solution(a, b):
return sum(a[i]*b[i] for i in range(len(a)))
다른사람이 한 풀이
solution = lambda x, y: sum(a*b for a, b in zip(x, y))
람다식 활용
4>
현재완료형
mat | meet
have mat 이미 만났다 (have + p.p)
벌써 ~ 했다.
~한적있다.
have tried
have not 부정문
i haven't p.p 아직 안해봤다
샀다 bought
주문했다 ordered
얘기했다 said
4>
자료흐름도 4가지 구성요소
- 처리 Process : 원
- 자료흐름 Data Flow : 화살표
- 자료저장소 Data Store : 평행선
- 단말 Terminal : 사각형
5>
Petra
개인정보처리자는 데이터가 분실·도난·유출·위조·변조 또는 훼손되지 않도록내부 관리 정책을 수립하여 접근을 통제하고 접속 기록을 보관하여안전성 확보에 필요한 기술적·관리적 조치를 수행 하여야 합니다.
Petra는 인가되지 않은 사용자의 데이터베이스 접속과 SQL 실행 권한을효율적으로 관리, 통제함으로써 기업이 보유하고 있는 데이터의 무결성과 가용성을 보장
PetraCipher
개인정보 유출에 따른 피해의 증가, 법규에 의한 처벌 강화 등 개인정보를취급하는 모든 기업은 개인정보를 보호하기 위한 기술적·관리적 조치가 필요합니다.
Petra Cipher는 인증받은 암호화 모듈, 중복 암호화 방지 등의 기술로 데이터와 파일을 암호화하여 비인가자가 데이터를 확인할 수 없도록 기밀성과 무결성을 보장
PetraSQL
비인가자에 대한 데이터베이스 접근 증가로 접속 권한 및 계정 관리의 중요도가높아지고 있습니다.
데이터베이스 보안과 SQL Tool을 통합한 PetraSQL는 웹 기반 서비스로 데이터베이스 접속 정보와 권한을 보안관리자가 중앙에서 통제하여 높은 기밀성(Confidentiality)을 유지하고 다중 DBMS 접속, 통합권한관리, 사용자 및 조직별 SQL 공유, SQL·API·FUNCTION을 활용한 작업 스케쥴링으로 사용자의 업무 효율과 보안성을 향상
PetraSign
내부 사용자에 의한 데이터 노출 및 관리 소홀로 인한 유출 사고 증가로 체계적인 데이터베이스 접속 및 권한 관리가 필요합니다.
Petra Sign은 권한 결재 시스템으로 SQL과 사용자에 대한 권한을 부여 하고 책임을 증빙함으로써 민감정보(데이터)를 효율적으로 관리할 수 있으며 사용자에게는 업무 정당성을 제공
데이터베이스에 저장된 민감정보 및 개인정보 보호용 제품을 개발
데이터 베이스 보안 기술 연구 개발
데이터 베이스 접근통제, 암호화, 및 권한 결재와 같은 데이터베이스보안제품을 전문으로 생산
// yesterday wished to today list.
. DFS/BFS 정리_✔️
. 다이나믹 프로그래밍 정리_✔️
. 알고리즘_✔️
. 암기고래_✔️
. https://www.comcbt.com/cbt/onlyview3.php _✔️
. https://www.sinsiway.com/ 알아보기_✔️
Day after tomorrow wish list
. 이것이
. 알고리즘
. 정처기 범위 공부
'IT To do and To was' 카테고리의 다른 글
22년 12월 14일_Moonite 안드로이드 개발 진행, Nail Manna 앱 영상 공유, Python 별그리기, 최단경로 알고리즘 (0) | 2022.12.14 |
---|---|
22년 12월 13일_효율적인 화폐구성, 프로그래머스 알고리즘, 23년도 정처기 범위 공유 (0) | 2022.12.13 |
22년 12월 9일_프로그래머스 PCCE 모의고사 1회 수행, 점핏과 교보문고에서 개최한 조코딩의 취준생을 위한 개발 분야 총 정리 수기, 알고리즘 (0) | 2022.12.09 |
22년 12월 8일_김장하는 날이니 지금 해놔야지.. (0) | 2022.12.08 |
22년 12월 7일_프로그래머스 SQL 작살 (0) | 2022.12.07 |