새소식

JAVA (개념, 알고리즘)

1. 문자열(String)

  • -

- 문자열을 모두 대문자로 바꾸려면?

str = str.toUpperCase();

- 문자(Character)를 대문자로 바꾸려면?

char t = Character.toUpperCase(t);

- 문자열을 배열로 만드는 법

str.toCharArray()

 

- 향상된 for문 쓰기

for(char x : str.toCharArray())
{
    if (x==t)
        answer++;
}

for문에 리스트, 배열 형식을 넣어주어야 한다.

 

- StringBuilder 

String 연산이 많아질 때, String에서는 계속해서 새로운 객체를 생성하면서 문자열이 변경되는데,

StringBuilder를 사용하면 객체를 하나만 가지고도 문자열을 변경할 수 있다.

 

예 : 문자열을 뒤집고 싶을 때

String tmp = new StringBuilder(x).reverse().toString(); // 문자열객체

 

- 띄어쓰기 포함된 문자열을 분리하고 싶을 때

(1) indexOf

중복되는 문자가 존재할 때, 제일 앞에 있는 문자의 순서를 출력한다.

문자열을 띄어쓰기 기준으로 분리를 하고 싶다면, 다음과 같이 코드 작성을 하면 된다.

while((pos = str.indexOf(' ')) != -1)
{
    String tmp = str.substring(0, pos);
    ...
    str = str.substring(pos+1); // pos 부터 다시 시작!
}

띄어쓰기가 있다면 해당 자리를 int형 변수인 pos에 반환하고, 띄어쓰기가 없다면 -1을 반환한다.

 

(2) split() 함수 이용

 

 

 

- 대소문자를 구분하지 않을 때 문자열 비교

str.equalsIgnoreCase(tmp)

 

- 알파벳이 아닌 문자 제거

-> 모두 대문자로 바꾼 후 알파벳이 아닌 문자(특수 문자)인 경우 문자열에서 제거한다.

s=s.toUpperCase().replaceAll("[^A-Z]", "");

 

- char형태의 문자가 숫자인지 판단하고 싶을 때

if (Character.isDigit(x))

 

- 둘 중 작은 값을 표현하고 싶을 때

answer[i] = Math.min(answer[i], p);

- 문자열을 이진수 정수로 받은 후, 이를 10진수로 표현하고 싶을 때

int num = Integer.parseInt(tmp, 2);

 

'JAVA (개념, 알고리즘)' 카테고리의 다른 글

Two pointers, Sliding window[효율성 : O(n^2)-->O(n)]  (0) 2023.01.24
2. 배열  (0) 2023.01.17
Comparator와 Comparable  (0) 2023.01.04
오버라이딩과 오버로딩  (0) 2022.12.28
상속과 포함관계  (0) 2022.12.28
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.