본문 바로가기

반응형

old/Programming

(103)
자바 스트링 replace와 replaceAll의 차이점 질문 자바의 replace와 replaceAll의 차이점을 설명해주세요. replace 문자열 내에서 모든 일치 항목을 대체합니다. 첫번째 피라미터를 스트링으로 인식합니다. replaceAll 문자열 내에서 모든 일치 항목을 대체합니다. 첫번째 피라미터를 정규표현식(정규식)으로 인식합니다. 차이점 패턴 지정 방식: replace는 정확한 문자 또는 문자열을 사용하여 대체합니다. replaceAll은 정규 표현식을 사용하여 패턴을 지정합니다. replace는 문자열 내에서 모든 항목을 대체하는 데 사용되며, 정확한 매칭을 위해 사용됩니다. replaceAll은 복잡한 패턴 대체와 다중 항목 대체를 위해 정규 표현식과 함께 사용됩니다. replace 예제 String str = "Hello, Hello, H..
정규식이란 정의 정규표현식(정규식 = Regular Expression)은 문자열의 패턴을 표현하는데 사용되는 특수한 문자열입니다. 특정한 패턴을 가진 문자열을 사용함으로서 이에 맞는 조건을 가진 문자열을 선택할수 있습니다. 목적 정규식은 주어진 문자열에서 특정한 패턴을 찾거나, 대체하거나, 추출하는 등의 작업을 수행하는데 사용됩니다. 정규식 문법의 기초적인 예제 숫자 패턴 매칭: 숫자로만 이루어진 문자열을 찾는 정규식입니다. // 1. 숫자 패턴 매칭: 숫자로만 이루어진 문자열을 찾는 정규식 String pattern1 = "\\\\d+"; // 2. 알파벳 소문자 패턴 매칭: 알파벳 소문자로만 이루어진 문자열을 찾는 정규식 String pattern2 = "[a-z]+"; // 3. 알파벳 대문자 패턴 매칭: ..
자바의 물음표 연산자(?:)란 정의 물음표 연산자(? :)는 조건 연산자로서, 조건식의 평가 결과에 따라 두 개의 표현식 중 하나를 선택하는 것입니다. if문과 같은 결과를 낼수 있습니다. 구조 if(Condition){ result = expression1; }else{ result = expression2; } ---- result = Condition ? expression1: expression2; if문과 똑같습니다. 사용을 고려해야 하는 경우 물음표 연산자를 사용할 때는 다음 사항을 고려해야 합니다: 장점 코드의 간결성: 조건에 따라 값이 선택되는 로직을 한 줄로 표현할 수 있어 코드의 가독성과 간결성을 높입니다. 표현식의 재사용성: 선택되는 표현식은 변수에 할당되거나 다른 표현식의 일부로 사용될 수 있으므로 재사용성이 높..
자바의 Primitive 데이터 타입과 Reference 데이터 타입 기본형 타입(Primitive type) 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. 기본값이 있기 때문에 Null이 존재하지 않는다. 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. String은 object이다. primitive type이 아니다. 테이터 타입 이름 할당 메모리 bit 기본값 데이터 범위 데이터 숫자 범위 boolean 1 byte 1 bit false true, false true,false byte 1 byte 8 bit 0 -128 ~ 127 $-2^{7}$~ $(2^{7}-1)$ short 2 byte 16 bit 0 -32,768 ~ 32,767 $-2^{15}$~ $(2^{15}-1)$ int 4 byte 32 bit ..
복잡한 표현식의 연산자 그룹화: 자바 연산자 우선순위 Java Operator Precedence Table Operator Precedence 정의 한국어로 연산자 우선 순위라고 부르지만, 연산을 우선순위에 따라서 계산하는것이 아닙니다. 복잡한 식에 여러 개의 연산자가 있을 때는 연산자 우선순위에 따라 그룹을 결정합니다. 이는 연산 순서를 말하는게 아닙니다. 예제 아래와 같은 연산이 있다고 가정할때, 컴퓨터는 a > 0을 먼저 해야 할지, 0 && b를 먼저 해야 할지 구분할수 없습니다. int a = 1, b = 1; a > 0 && b - ++a == 1 Java Operator Precedence Table에 따라서 그룹화를 먼저 시작합니다. a > 0 && b - ++a == 1 a > 0 && b - (++a) == 1 a > 0 && (b - ..
그래프 탐색: DFS,BFS 트리: inorder, preorder, postorder preorder = root left right DFS use stack = inorder= left root right postorder = left right root BFS use queue = print each level 그래프 소셜 네트워크, 교통 시스템, 컴퓨터 네트워크 등 다양한 현실 세계의 시나리오를 나타내는 데 사용됩니다. 노드 또는 정점들이 간선으로 연결된 모음입니다. 간선은 노드들 간의 관계나 연결을 나타냅니다. 간선은 방향성이 있을 수도, 없을 수도 있습니다. 사이클(출발점과 도착점이 같은 경로)이 있을 그래프 용어 노드(Node) : 그래프 또는 트리에서 하나의 정점을 뜻합니다. 데이터나 객체 등의 값을 가질 수 있으며, 간선을 통해 다른 노드와 연결됩니다. 간선(Edge) : ..
문자열에서 서브스트링substring 찾는 방법 substring 정의 큰 문자열 내에서 연속된 문자의 시퀀스입니다. 즉, 원래 문자열에서 문자를 선택하여 순서를 변경하거나 중간에 있는 문자를 건너뛰지 않고 작성된 더 작은 문자열입니다. substring 예제 “abc”의 substrings: "", "a", "b", "c", "ab", "bc", "abc" 수학에서는 공백 문자열("")도 substring으로 포함되어 있습니다. 하지만 프로그래밍문제에서는 보통 공백문자는 substring으로 치지 않습니다. substring을 구하는 방법 예제 public static int countSubstring(String str) { int n = str.length(); return n*(n+1)/2; }
매개변수 전달 방법 선택하기: 값 vs 참조 프로그래밍에서 데이터 저장하는 두 가지 방법 데이터를 변수에 넣을 때, 프로그래밍 언어는 두 가지 방법으로 데이터를 저장할 수 있습니다. 데이터를 힙 메모리에 저장한 다음, 그 메모리의 주소를 스택 메모리에 저장합니다. 데이터를 스택 메모리에 직접 저장합니다. 두 가지 방법이 있는 이유? 스택 메모리는 힙 메모리보다 훨씬 빠릅니다. 그러나 스택 메모리는 제한된 공간을 가지고 있습니다. 따라서 컴퓨터는 스택 메모리에 정적 데이터(일시적인 사용, 몬스터를 공격할 때 데미지 계산)를 저장하고, 힙 메모리에 동적 데이터(다시 사용, 게임에서 새로운 기술을 배울 때)를 저장하도록 설계되었습니다. 값에 의한 전달(pass by value)이란? 메소드를 사용할 때, 값만 전달됩니다. 그러므로, 입력 데이터가 변경되..

반응형