Programming/JAVA9 문자열에서 숫자만 추출하기(replaceAll) str.replaceAll("[{바꾸고싶은 문자의 정규식}]", "{치환할 문자}"); 문자열에서 숫자만 추출 String str = "aAb1B2cC34oOp"; String result = str.replaceAll("[^0-9]", ""); return str; [^] : 대괄호 안에 ^ 가 있으면 '제외'를 의미 [^0-9] : 0-9를 제외한 모든 문자 replaceAlll("[^0-9]", "") : 0-9를 제외한 모든 문자를 제거한다 정규표현식 문자열 데이터 중에서 원하는 조건/패턴과 일치하는 문자열 부분을 찾아내기 위해 사용한다. 미리 정의된 기호와 문자를 이용해 작성한 문자열을 말한다 Programming/JAVA 2023. 3. 7. [JAVA] char를 int로 변환하기 방법 1. 아스키코드값 활용하기 char c = '1'; int result = c - '0';//(int)c - '0' => 49 - 48 = 1 int result2 = c - 48;//(int)c - 48 = 1 아스키코드상 문자 0~9는 숫자 48~57에 대응됨을 알 수 있다 => 문자 'n'에서 '0'을 빼주면 원하는 숫자를 얻을 수 있다 방법 2. Character.getNumericValue() char c = '1'; int n = Character.getNumericValue(c); System.out.println(n);//1 Character 클래스에 있는 getNumericValue 메소드를 활용하면 char형을 int 형태로 반환해준다 Programming/JAVA 2023. 3. 7. [Collections] java.util.Collections 주요 메소드 최근 프로그래머스 문제를 풀면서 많이 사용한 Collections의 주요 메소드를 몇개만 정리해보려 한다 Collections.sort() 오름차순으로 정렬 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; //import java.util.*; Programming/JAVA 2023. 1. 16. [자료구조] Stack 자료구조 중 스택에 대해 알아보자! stack : 무더기[더미], 쌓다 개념 위의 그림에서 알 수 있듯 하나의 입구로 데이터가 쌓여지는 느낌이다. 스택은 나중에 넣은 값이 먼저 나오는 LIFO(Last In Frist Out) 구조이다. 메소드 push(data): data를 스택의 가장 윗 부분에 추가 pop(): 스택에서 가장 위에 있는 항목을 제거 peek(): 스택에서 가장 위에 있는 항목을 반환 isEmpty(): 스택이 비어 있을 때에 true를 반환 사용법 import java.util.*; Stack stack = new stack(); stack.push(1); stack.push(2); stack.push(3); stack.pop(); stack.peek(); //2 📕 Referenc.. Programming/JAVA 2023. 1. 15. [2023.01.12] charAt() 오늘 "문자열 다루기 기본" 문제를 풀면서 사용한 charAt()에 대해 정리 하고 넘어가려 한다! charAt(i) String 타입의 데이터에서 특정 문자를 char 타입으로 한 글자만 가져올 때 사용한다 String str = "2468"; str.charAt(2); //'6' 문자열의 인덱스 번호 2번인 6을 가져오는 것이다. char 타입이 때문에 당연히 가져온 6은 숫자가 아닌 문자 '6'이다. 이 때, 문자 6을 숫자로 받아오고 싶다면 어떻게 해야 할까? String str = "2468"; int result = str.charAt(2) - '0' //6 - '0'을 해주면 된다. char는 문자열이기 때문에 int로 형변환을 하면 아스키코드값이 반환된다. 이 때 아스키코드로 '0'은 48.. Programming/JAVA 2023. 1. 12. [2023.01.11] StringBuilder StringBuilder 보통 문자열을 다룬다고 하면 String을 사용하고 String 연산 시 +를 주로 사용할 것이다. 하지만 String 객체끼리 더하는 방법은 새로운 String을 생성하고 잦은 메모리 할당과 해제를 발생해 성능적으로 좋지 못하다. 때문에 등장한 것이 바로 StringBuilder이다. StringBuilder는 위의 String 연산과 다르게 기존에 데이터에 더해지는 방식이기 때문에 속도도 빠르고 부담이 적다. StringBuilder sb = new StringBuilder(); sb.append("AAA"); sb.append("BBB"); System.out.println(sb.toStirng()); //AAABBB reverse() 메소드를 사용하여 문자열을 간단히 뒤집.. Programming/JAVA 2023. 1. 11. [2023.01.06]reverseOrder()/toCharArray() 문제를 풀면서 모르거나 한번에 떠오르지 않거나 헷갈리는 부분들을 정리해 보려고 한다! 배열의 정렬 굳이 코드로 정렬하지 않아도 메소드를 호출하면 간단하게 원하는 내용을 정렬할 수 있다. Arrays.sort() 배열의 요소를 오름차순으로 정렬하기 위해 사용한다. 오름차순이 디폴트인 이유는 기본적으로 구현되어 있는 Comparable Interface의 compareTo 메서드가 기준이 되기 때문이라고 한다. Arrays.sort()에서 자꾸 s를 빼먹길래 한 번 정리하고 넘어가려 한다:( import java.util.*; int[] arr = new int[]{1, 9, 8, 2, 3}; String[] strArr = new String[]{"A", "C", "D", "B"}; Arrays.sort(.. Programming/JAVA 2023. 1. 6. [2023.01.05] 문자열 형변환/length/parseInt/substring/Math 프로그래머스에서 문제를 풀면서 모르지는 않지만 한번에 떠오르지 않거나 헷갈리는 부분들을 정리해 보려고 한다! 문자열 형변환 [String.valueOf()/Object.toString()/Casting] 형변환 시 사용하는 메소드로, Object 값을 String 형으로 변환할 때 주로 사용하는 메소드이다. Casting (String) 파라미터가 null -> NullPointerException Object 값이 String이 아니면 ClassCastException Object.toString() Object(Wrapper Class)의 데이터를 String 문자열로 변환 기본 toString 메소드 -> "클래스이름@16진수로 표시된 해시코드" 형태의 문자열 반환 파라미터가 null -> Null.. Programming/JAVA 2023. 1. 5. JAVA Collection Framework(JCF) 공부하며 정리한 내용입니다! 오류가 있다면 알려주시면 감사하겠습니다 :) Collection 데이터의 집합, 그룹을 말함 JCF 는 이런 데이터/자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공 대표적으로 List, Set, Map List List 순서가 있으며 데이터의 중복이 허용 인덱스로 원소에 접근 가능 가변적 LinkedList 양방향 포인터 구조 삽입/삭제가 빈번할 때 데이터의 위치정보만 수정하면 됨 Vector 과거 대용량 처리를 위해 사용 내부에서 자동적으로 동기화 처리 -> 비교적 성능이 떨어지고 무거움 -> 잘 사용 X ArrayList 단방향 포인터 구조 각 데이터에 대한 인덱스 -> 조회 기능에 좋음 Set Set 순서가 없으며 데이터의 중복이 허용 X 검색속도가.. Programming/JAVA 2022. 11. 16. 이전 1 다음