1. 첫번째 시도.. 시간초과난다 from itertools import permutations n = list(input()) result = -1 cases = permutations(n, len(n)) for case in cases: if case[0] == '0': continue else: num = '' for i in case: num += i num = int(num) if num%30 == 0: result = max(result, num) print(result) if 문에서 30의 배수가 아닌 조건을 걸러주면 된다 !! 우선 30의 배수를 떠올려 보면 30, 60, 90, 120, 150, 180, 210 ... 0 으로 끝나는 것을 알 수 있다!! 또한 '3'의 배수의 성질인 각자..
분류 전체보기
오늘은 제 취미중 하나인 VR게임 리뷰를 해보려고 합니다 저는 게임을 사실 잘 못하고 너무 어렵거나 너무 잔인하면 또 못합니다 ㄱ- 그래서 보통 쿠키런 킹덤같이 아기자기하고 귀여운 모바일게임이나 쿠키런오리지널, 닌텐도 등을 많이 했고 리듬게임류를 정말 좋아한답니다 !! 제가 내돈내산한 게임이 현재 3개정도 있는데 그 게임들에 대해 리뷰해볼게요 우선 비트세이버입니다 !! 진짜 VR게임 게의 레전드같습니다 비트세이버는 VR사면 기본으로 다 사는것 같아요 그만큼 재미있고 이해도 쉽고 대체로 같은 자리에서서 날아오는 비트 조각들을 슬라이스 하는 게임이라서, 멀미감이 없어요!!! VRChat은 한시간정도만 해도 멀미가 심해서 많이 못하겠던데 비트세이버는 3D멀미가 없었습니다 !! 그래서 강추 손님들 왔을때 같이 ..
1. 소프트웨어 설계 #2 DFD(데이터 흐름도) 구성요소에 대한 표기법 처리기 (Process) : 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로, DFD에서는 원(O)으로 표시 데이터 흐름 (Data Flow) : DFD의 구성요소들 간의 오가는 데이터 흐름을 나타내며 DFD에서는 화살표(->)로 표시 데이터 저장소 (Data Store) : 데이터가 저장된 장소이고 평행선(=) 으로 표시하며, 평행선 안에는 데이터 저장소의 이름을 넣음 단말 (Terminator) : 부 엔티티는 프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타내고, 사각형으로 표시하며 사각형 안에는 외부 엔티티의 이름을 넣음 #7 요구사항 관리도구 헬릭스 RM(Helix RM), 지라 (Jira), 오르..
우선 정말 단순하게 for문 이중으로 돌린 나의 코드 .. 날먹시도 실패 역시 시간초과 난다 # 11660 구간 합구하기 n, m = map(int, input().split()) graph = [] for _ in range(n): graph.append(list(map(int, input().split()))) for _ in range(m): x1, y1, x2, y2 = map(int, input().split()) result = 0 for i in range(x1-1, x2): for j in range(y1-1, y2): result += graph[i][j] print(result) DP로 풀어야 시간 초과가 나지 않는다. 그리고 파이썬 특성상, input() 대신 sys.stdin.rea..
https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 각 노드들에서 x로 갈때 다익스트라 최단경로 알고리즘을 이용해 최단거리를 구하면 노드 i에서 모든 노드까지의 최단 거리 결과를 알 수 있다. 이 결과값을 나는 최단 거리를 저장하는 리스트 dist라고 두었다. dist[x]값이 바로 학생 i가 파티 주최지 x 노드까지 '가는' 데에 소요되는 최단경로 cost이다. 문제는 왕복을 해야 한다는 것인데, 원래는 구해놓은 최단거리에 2배 곱해주면 되지 않나라고..
1. 암호 알고리즘 (Encryption Algorithm) : 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법 2. 암호 알고리즘 방식 1) 양방향 방식 a. 대칭키 암호 방식 - 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘이다. 블록 암호 방식 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화하는 블록 암호 알고리즘을 반복하는 방법 ex) DES, AES, SEED 스트림 암호 방식 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식 ex) RC4 b. 비대칭 키 암호 방식 (= 공개키 암호 방식) - 사전에 개인키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식이다. - 공개키로 암호화된 메세지는 반드시 비밀키로 복호화해야 한..
1. SW 개발 보안의 구성 요소 : 기밀성, 무결성, 가용성 기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 무결성 : 정당한 방법을 따르지 않고서 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경하거나 훼손 또는 파괴되지 않음을 보장하는 특성 가용성 : 권한을 가진 사용자나 앱이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성 2. 입력 데이터 검증 및 표현 취약점 XSS (Cross Site Script) : 검증되지 않은 외부 데이터가 포함된 웹페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격 사이트간 요청 위조 (CSRF) : 사용자가 자신의 의자와는 무관하게..