본문 바로가기

반응형

전체 글

(231)
LeetCode 2181. Merge Nodes in Linked List 자바 문제 풀이 문제 설명문제: https://leetcode.com/problems/merge-nodes-in-between-zeros/설명: 주어진 단일 연결 리스트에서 특정 조건에 따라 노드를 합치는 작업을 수행해야 합니다.접근 방식아이디어:링크드리스트를 순회하면서 값이 0인지 확인합니다.값이 0이 아니면 더해서 저장해둡니다.값이 0인 노드를 찾으면, 지금까지 더한값을 가진 새로운 노드를 생성하고, 새로운 링크드리스트에 추가합니다.알고리즘:값이 0인 노드를 넣어둘 링크드리스트 resultNode를 생성합니다.나중에 리턴하기위해 더미헤드를 생성하여 resultNode에 연결해놓습니다.더한 값을 넣어둘 변수 addedVal을 생성합니다.주어진 링크드리스트를 순회합니다.노드의 값이 0이 아닌경우 값을 더합니다.노드의 값..
LeetCode 1509. Minimum Difference Between Largest and Smallest Value in Three Moves 자바 문제 풀이 문제 설명문제: https://leetcode.com/problems/minimum-difference-between-largest-and-smallest-value-in-three-moves/description설명: 정수 배열에서 최대 3개의 숫자를 제거하여 나머지 숫자들의 차이값(최대값 - 최소값)를 최소화해야 합니다.접근 방식아이디어:3개의 숫자를 제거하는 모든 경우의 수를 고려합니다.리스트가 4개 이하라면 변경된 숫자끼리 차이값을 만드는게 가능하므로, 차이값은 무조건 0입니다.리스트가 5개 이후부터 변경된 숫자를 제외한 두 숫자의 차이값이 가장 작습니다.차이값이 가장 큰 값은 가장 큰수와 가장 작은수이므로, 앞에서부터 3개의 숫자와 뒤에서부터 3개의 숫자를 확인하기위해 정렬합니다.3개의 숫자를 ..
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 게이트

반응형