본문 바로가기

반응형

List

(237)
LeetCode 2319. Check if Matrix Is X-Matrix 자바 문제 풀이 문제 설명문제: https://leetcode.com/problems/check-if-matrix-is-x-matrix/description/설명: 주어진 정사각형 행렬이 X-매트릭스인지 확인합니다. X-매트릭스는 주 대각선과 부 대각선을 제외한 모든 요소가 0인 행렬입니다.접근 방식아이디어: 각 요소가 X-매트릭스의 조건을 만족하는지 확인하기 위해 주 대각선과 부 대각선을 검사합니다.알고리즘: 주 대각선의 요소와 부 대각선의 요소를 제외한 모든 요소가 0인지 검사하여 X-매트릭스 여부를 판단합니다.코드class Solution { public boolean checkXMatrix(int[][] grid) { int n = grid.length; for (int i = 0;..
LeetCode 350. Intersection of Two Arrays II 자바 문제 풀이 문제 설명문제: https://leetcode.com/problems/intersection-of-two-arrays-ii/description설명: 두 개의 배열 nums1과 nums2에서 중복되는 숫자를 찾아내는 문제입니다.접근 방식아이디어: 각 배열의 숫자들을 HashMap을 사용하여 카운트하여 중복을 체크합니다. 이 문제의 함정은 각 배열에 중복되는 숫자가 존재할수 있다는 것입니다. 이미 정렬되어 있지 않다면, 두 포인터 를 이용해서 중복을 확인하는 방법은 비효율적입니다. 그러므로, 해시맵을 사용하여 중복숫자를 확인합니다알고리즘:먼저 nums1 배열의 각 숫자를 HashMap에 넣어 그 숫자의 출현 빈도를 카운트합니다.다음으로 nums2 배열을 순회하면서, 해당 숫자가 HashMap에 있는지 확인..
LeetCode 1550. Three Consecutive Odds 자바 문제 풀이 문제 설명문제: 주어진 정수 배열에서 연속적으로 나타나는 세 개의 홀수가 있는지 확인하세요. 만약 그런 경우가 존재한다면 true를 반환하고, 그렇지 않으면 false를 반환하세요.설명: 입력으로 주어진 정수 배열을 검사하여 연속적으로 나타나는 세 개의 홀수가 있는지 판단합니다. 배열 내의 각 숫자는 양수이며 배열의 길이는 최대 1000입니다.접근 방식아이디어: 배열을 순회하면서 각 요소가 홀수인지 검사하고, 연속적인 홀수의 개수를 셉니다. 연속된 홀수의 개수가 3이 되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.알고리즘:배열을 순회하면서 각 요소가 홀수인지 확인합니다.홀수인 경우 연속된 홀수(count)의 개수를 증가시키고, 그렇지 않으면 개수를 초기화합니다.연속된 홀수(count)의..
서식 문자 format string (%) 사용법 %d 데이터 형식: 10진수 byte, short, int, long 사용예제: String temp = String.format("%d", 29); System.out.println(temp); // 29 %숫자d 데이터 형식: 10진수 byte, short, int, long 사용예제: String temp = String.format("%5d", 29); System.out.println(temp); // _ _ _29 %o 데이터 형식: 8진수 byte, short, int, long 사용예제: String temp = String.format("%o", 10); System.out.println(temp); // 12 %x 데이터 형식: 16진수 byte, short, int, long 사용예제..
사이버 보안: 자동화 공격이란? 정의 자동화 공격은 공격자가 컴퓨터 프로그램이나 스크립트를 사용하여 대상 시스템을 자동으로 공격하는 취약점입니다. 취약점 발생 지점 리스트 로그인페이지 게시글 등록 sns 발송 페이지 취약점 검증 방법 반복적으로 요청을 시도하고 아무 문제가 없는 경우 공격법 공격 시나리오 자동화 공격의 일반적인 시나리오는 다음과 같을 수 있습니다: 자동화된 도구를 사용하여 반복적으로 로그인 시도를 합니다. 사용자들중에 취약한 비밀번호를 가진 사용자의 비밀번호를 공격자가 탈취합니다. 발생 과정 공격 예제 다음 예제는 php로 만들어진 로그인 사이트에 비밀번호가 4자리수밖에 없다고 할때, 반복적으로 로그인 시도를 하도록 짜여진 파이썬 코드입니다. import requests url = '' username = 'test' ..
논리 게이트 진리표&정의 논리게이트 진리표 자바 코드 !A //NOT A&B //AND ~(A&B) // NAND A|B //OR ~(A|B) // XOR A^B //XOR ~(A^B) // XNOR ~A // 0은 1로 1은 0으로 바꾼다 A 1 // A의 비트를 1만큼 오른쪽으로 이동시킨다.(빈자리는 가장 왼쪽 부호비트와 같은 값으로 채워짐) A > 1 // // A의 비트를 1만큼 오른쪽으로 이동시킨다.(빈자리는 0으로 채워짐) NOT 게이트 AND 게이트 NAND 게이트 OR 게이트 NOR 게이트 XOR 게이트 XNOR 게이트
LeetCode 112. Path Sum 자바 문제 풀이 문제 LeetCode - The World's Leading Online Programming Learning Platform 문제 해결 방법 이 문제의 목적은, 주어진 이진 트리에서 루트부터 잎 노드까지의 경로 중 합이 주어진 targetSum과 같은 경로가 있는지 확인하는 것입니다. 그러므로, 이 코드는 주어진 이진 트리에서 재귀적으로 경로를 탐색하고, 경로 합이 targetSum과 같은지 확인합니다. 알고리즘 재귀 함수 호출 (Recursion): hasPathSum 함수는 재귀적으로 호출됩니다. 이 함수는 현재 노드의 값을 targetSum에서 빼고, 이 값을 새로운 targetSum으로 사용합니다. 기본 케이스 (Base Case): 재귀 호출이 시작될 때, 현재 노드가 null인지 확인하여 트..
사이버 보안: 세션 예측이란? 정의 세션 예측(Session Prediction)은 보안 취약점으로, 공격자가 세션 식별자를 예측하여 다른 사용자의 세션을 탈취하거나 위조하는 공격을 말합니다. 세션 식별자는 보통 쿠키, 토큰 또는 세션 ID와 같은 형태로 사용되며, 이를 통해 사용자의 인증 상태를 유지하고 세션을 관리합니다. 취약점 발생 지점 리스트 세션이 적용되는 모든 페이지 취약점 검증 방법 세션발급에 일정한 알고리즘이 존재하고, 예측이 쉬울때 세션발급이 로그인시 새롭게 발급되는지 확인 아이디가 다른것에 따라 세션이 관련이 있는지 확인 시간에 따라 세션이 관련이 있는지 확인 세션이 변하지 않는지 확인 암호화 확인(md5 사용X, DES, SHA 등등) 공격법 공격 시나리오 공격자는 세션 식별자를 예측하기 위해 다양한 기법을 사용합..

반응형