본문 바로가기

반응형

old/Programming

(103)
서식 문자 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 사용예제..
논리 게이트 진리표&정의 논리게이트 진리표 자바 코드 !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 게이트
네덜란드 국기(Dutch National Flag) 알고리즘이란 정의 네덜란드 국기(Dutch National Flag) 알고리즘은 0과 1로 구성된 배열을 정렬하는 알고리즘입니다. 사용을 고려해야 하는 경우 배열에 0과 1이 포함되어 있으며, 이를 정렬하여 0과 1을 구분하고자 할 때. 추가적인 메모리 공간 없이 배열의 요소를 제자리에서 정렬하고자 할 때. 사용하면 안되는 경우 네덜란드 국기 알고리즘은 0과 1로 구성된 배열을 정렬하는 데에만 사용할 수 있습니다. 다른 종류의 요소를 정렬하기 위해서는 다른 알고리즘을 사용해야 합니다. 장점 추가적인 메모리 공간을 사용하지 않고 제자리에서 배열을 정렬할 수 있습니다. 시간 복잡도: O(n) 공간 복잡도: O(1) 단점 0과 1로 구성된 배열에 대해서만 적용 가능하며, 다른 요소를 정렬하는 데에는 적합하지 않습니다. 2..
재귀 함수 짜는 법 재귀 함수 짜는 법 모든 반복문을 재귀 함수로 변환하는 것은 가능하지만, 이는 일반적으로 어려운 작업입니다. 그 이유는 재귀 함수의 사고 방식이 일반적인 인간의 사고 방식과 다소 다르기 때문입니다. 따라서 이를 습득하려면 충분한 연습과 익숙함이 필요합니다. 저는 이를 극복하기 위한것은 잘 반복문자체를 잘 정리하는 것이라고 생각해서 아래와 같은 표를 만들었습니다. 그리고 이를 바탕으로 쉬운 반복문부터 조금씩 어려운 반복문을 재귀함수로 구현하여, 나중에 이런 표없이 바로 구현하는것을 목표로 잡았습니다. 재귀함수 구현 목표: 종료 조건 (Base Case): 이전단계의 결과가 필요한가?: 문제분할 (Divide the Problem): 결과의 조합: 재귀호출, 다음 단계로 가기전 변경 할점 (Recursive..
파이썬의 연산자 정리 파이썬에서 사용되는 산술 연산 종류 기호 설명 반환값 + 덧셈 입력된 값의 자료형에 따라 다름 - 뺄셈 입력된 값의 자료형에 따라 다름 * 곱셈 입력된 값의 자료형에 따라 다름 / 나눗셈 실수값 반환 // 나눗셈(몫) 정수값 반환 % 나머지 실수값 반환 ** 거듭제곱 입력된 값의 자료형에 따라 다름 and 논리 곱 참(True) 또는 거짓(False) 반환 or 논리 합 참(True) 또는 거짓(False) 반환 크다 참(True) 또는 거짓(False) 반환 = 크거나 같다 참(True) 또는 거짓(False) 반환 == 같다 참(True) 또는 거짓(False) 반환 결과 +, -, *, /, //, %, **, , = 표 A B 결과 int int int A+B 결과 int float float A..
최소 공통 조상, LCA(Lowest Common Ancestor)이란 정의 최소 공통 조상, LCA(Lowest Common Ancestor). LCA는 트리 구조에서 두 노드의 가장 가까운 공통 조상을 찾는 알고리즘 또는 개념입니다. 예제 위와 같은 이진트리가 있다고 할때, 4와 6의 LCA는 1입니다. LCA(4,6)=1 목적 LCA의 목적은 트리 구조에서 두 노드의 가장 가까운 공통 조상을 효율적으로 찾는 것입니다. 사용을 고려해야 하는 경우 LCA 알고리즘을 고려해야 하는 경우: 트리 구조에서 두 노드 간의 거리를 계산해야 할 때 특정 노드를 루트로 하는 서브트리에 속한 노드들을 찾아야 할 때 컴퓨터 네트워크에서 최단 경로를 계산해야 할 때 게임 개발에서 충돌 감지 등의 문제를 해결해야 할 때 사용하면 안되는 경우 LCA 알고리즘은 트리 구조가 아닌 다른 자료 구조..
단축 평가 계산(Short Circuit Evaluation)이란 Short Circuit Evaluation이란? Short Circuit Evaluation이란 AND 혹은 OR의 연산에 있어서 결과가 확실하게 예측이 되었을 때 뒤에 나머지 연산을 실행하지 않고 답을 내버리는 경우를 의미합니다. 적용되는 프로그래밍 언어 일부만 적용된다고 하는데, 현재 2023년 기준으로 C,C++,JAVA,Python는 적용되는것을 확인. AND 연산의 경우 AND연산의 경우에 false가 우선 나와버리면 AND 뒤에 나오는 연산은 생략이됩니다. OR 연산의 경우 OR연산의 경우에 true가 우선 나와버리면 OR 뒤에 나오는 연산은 생략이됩니다
자바 오브젝트 생성시, this 키워드를 사용하는 이유 질문 자바에서 this를 사용하는 것과 사용하지 않는 것의 차이점은 무엇인가요? 개요 this를 사용하는 것과 사용하지 않는 것은 변수 충돌 방지, 메서드 체이닝, 가독성과 명확성 측면에서 차이가 있습니다. 이유 변수 충돌 방지: 메서드의 매개변수 이름과 인스턴스 변수 이름이 같은 경우 this를 사용하여 인스턴스 변수와 매개변수를 구분할 수 있습니다. 메서드 체이닝: this를 반환하여 같은 객체에서 연속적으로 메서드를 호출할 수 있습니다. 가독성과 명확성: this를 사용하면 인스턴스 변수나 메서드를 명확하게 참조할 수 있어 코드의 가독성과 명확성을 향상시킬 수 있습니다. 차이점 this를 사용할 경우: public class MyClass { private int value; public void ..

반응형