[JAVA]문자열 붙여서 출력하기 replaceAll
IT 정보/java 2024. 12. 11. 09:20
replace(regex, replacement);

import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String b = sc.next();
}
}
조건 1. 문자열 str1, str2가 공백으로 구분되어 입력으로 주어진다.
조건 2. 입출력 예시와 같이 공백인 부분을 없애서 출력해라
우선 한번 a,b를 charAt()로 만들어 공백인 공간은 null로 표시되어 지는지 확인해 보자

이렇게 null이 아닌 빈공간으로 된다.
그러면 더 간단해진다
a의 인덱스[5]가 공백인데 for loop를 돌려 해당부분이 공백이 아닐 때만 answer에 값을 저장하게 하면 끝!
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = "apple pen";
String b = "Hello World!";
String answer = "";
for (int i = 0; i < a.length(); i++) {
char temp = a.charAt(i);
System.out.println(temp);
if (temp != ' ') {
answer += temp;
}
}
System.out.println(answer);
}
}
근데 이거보다 더 간단한게 있는데 그게 바로 replaceAll이다
해당 메소드 호출은
객체.replace(regex, replacement); 를 사용하면 바로 해결되는 문제이다.
String resultA = a.replaceAll(" ", "");
이런식으로 regex 에는 " " 공백을넣고 대체문자열에는 공백이 없는 ""을 넣게되면
resultA라는 객체에 a라는 객체에서의 공백을 제외한 문자가 전부 출력된다.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String b = sc.next();
String resultA = a.replaceAll(" ","");
String resultB = b.replaceAll(" ","");
System.out.print(resultA);
System.out.print(resultB);
}
}
하지만 메서드 호출에 의존만 해서는 결코 좋은 개발자가 될 수 없을거 같다.
물론 현업에서는 저렇게 메서드호출을 많이 이용하겠지만 코딩테스트를 공부할때만큼은 내가 배웠던 것들을 최대한 활용하여 푸는 연습 후에 메서드 호출을 알아보도록 하자
그럼 20000

| [JAVA] 문자열 섞기 charAt, Array (0) | 2024.12.16 |
|---|---|
| [JAVA]대소문자 바꾸기와 검사하기 UpperCase&&LowerCase (0) | 2024.12.10 |
| [Java] 기초문법 문제 Number1 (0) | 2024.12.02 |