[Java] 자바 정규 표현식(Regular Expression) 정리
·
Backend/Java
정규표현식(Regex)이란?정규표현식은 문자열에서 일정한 규칙을 가진 텍스트 패턴을 표현하는 식입니다.특정 단어나 문자를 찾거나문자열을 원하는 형식으로 바꾸거나데이터 검증, 파싱 등에 폭넓게 사용됩니다.정규표현식을 사용하면 반복적이고 복잡한 문자열 처리 작업을 간결하게 해결할 수 있습니다. 1. 정규표현식 기본 문법패턴설명예시.임의의 문자 1개 (줄 바꿈 제외)a.b → a와 b 사이 임의 문자 1개^문자열 시작 위치^Hello → "Hello"로 시작하는 문자열$문자열 종료 위치end$ → "end"로 끝나는 문자열*앞 문자가 0번 이상 반복ho* → h 다음에 o가 0개 이상+앞 문자가 1번 이상 반복ho+ → h 다음에 o가 1개 이상?앞 문자가 있을 수도, 없을 수도 있음colou?r → colo..
[Java] switch 문 최신 문법까지 정리해보기 (Java 14+)
·
Backend/Java
Java의 switch 문은 특정 변수의 값에 따라 다른 코드를 실행할 때if-else 문보다 코드를 훨씬 깔끔하게 만들어주는 제어문입니다.Java 버전이 올라가면서 switch는 더 안전하고 강력하게 발전했습니다. 핵심만 빠르게 알아보겠습니다. 1️⃣ 일반적인 switch문 (Java 11 이전)가장 전통적인 형태로, case, break, default 키워드를 사용합니다. 변수 값이 case와 일치하면 해당 지점부터 코드를 실행합니다.break를 만나야 switch 문을 탈출합니다.만약 break를 생략하면, 다음 case의 코드가 멈추지 않고 실행되는 "Fall-through"가 발생합니다.Fall-through를 의도적으로 사용하여 여러 case에 대해 동일한 코드를 실행할 수 있습니다.// ..
[Java] replace()와 replaceAll()의 차이점
·
Backend/Java
1️⃣ replace() 모든 일치하는 '문자열'을 바꾼다 replace()는 이름 그대로 문자열을 치환합니다.여기서 가장 중요한 포인트는 첫 번째 인자로 문자열 리터럴(Literal), 즉 '있는 그대로의 텍스트'를 받는다는 점입니다.동작 방식: 지정된 문자열(CharSequence)을 찾아 모두 교체합니다.특징: 정규식(Regex)을 해석하지 않고, 단순 텍스트로만 비교합니다.예시 코드:⚠️replace()는 첫 번째 하나만 바꾸는 것이 아니라, 일치하는 모든 문자열을 바꿉니다 오해 금지!!String text = "hello java, world java!";// "java"라는 문자열을 "kotlin"으로 모두 바꾼다.String result = text.replace("java", "kotlin..
[Java] 약수의 개수를 구하는 효율적인 알고리즘 정리
·
Backend/Java
📖약수 구하기 알고리즘코딩테스트나 알고리즘 문제를 풀다 보면 약수를 구하는 문제를 자주 만나게 됩니다하지만 큰 수의 경우 비효율적인 로직으로 인해 시간 초과에 부딪히는 경우가 다반사이번 글을 통해 약수를 구하는 효율적인 알고리즘을 단계별로 정리해보려고 합니다!! 1️⃣일반적인 방법 (O(n)) 가장 직관적으로 생각할 수 있는 방법은 1부터 n까지 모든 수를 확인하는 것입니다.// 12의 약수를 구하는 예시int count = 0;for (int i = 1; i 결과: 12의 약수는 1, 2, 3, 4, 6, 12 총 6개 해당 방법은 O(n)의 시간복잡도를 가지므로, n이 커지면 커질수록 오래 걸려서 시간 초과가 발생할 수 있습니다.1단계 방법의 속도를 개선해 보기 위해 먼저 한 가지 방법을 생각해 보..
[Java] 배열 복사 메서드 간단 정리
·
Backend/Java
주요 배열 복사 메서드Java에서 배열을 복사하는 주요 메서드들을 간단히 정리하면 다음과 같습니다. 1. Object.clone()int[] original = {1, 2, 3, 4, 5};int[] copy = original.clone();배열 전체를 깊은 복사하는 가장 보편적인 방법새로운 메모리 공간에 값을 복사하므로 원본과 독립적2. Arrays.copyOf()int[] original = {1, 2, 3, 4, 5};int[] copy = Arrays.copyOf(original, original.length);배열을 처음부터 지정한 길이만큼 복사길이가 원본보다 크면 나머지는 0으로 채워짐Arrays.copyOf() 범위 초과 예시int[] original = {1, 2, 3};int[] cop..
[Java, String] split() 메서드 정리 - 문자열 자르기
·
Backend/Java
Java String split() 메서드 완벽 정리Java에서 문자열을 분할하는 가장 기본적이고 중요한 메서드인 split()에 대해 자세히 알아보겠습니다.이 메서드는 정규식을 사용하여 문자열을 배열로 분할하는 강력한 기능을 제공합니다.기본 문법과 매개변수public String[] split(String regex)public String[] split(String regex, int limit)regex: 분할 기준이 되는 정규식 (필수)limit: 분할 횟수 제한 (선택사항) limit 매개변수의 동작 방식limit > 0: 분할 횟수 제한String s = "a,b,c,d";String[] result = s.split(",", 3);// 결과: ["a", "b", "c,d"] - 최대 2번만 ..