이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.
문제 설명
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static String solution(String str) {
String result = "";
for (char c : str.toCharArray())
{
if(Character.isDigit(c))
{
if(!(c == '0') || !(result.length() == 0)) result += c;
}
}
return result;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(solution(br.readLine()));
}
}
설명
- 입력: String str - 사용자로부터 입력받은 문자열.
- 출력: 숫자로만 구성된 문자열을 반환.
- 빈 문자열 result를 초기화한다.
- 입력받은 문자열 str을 문자 배열로 변환하고, 각 문자를 순회한다.
Character.isDigit(c) 메서드를 사용하여 문자가 숫자인지 확인한다.
문자가 숫자라면 다음 조건을 확인 -> 문자가 '0'이 아니거나, result가 빈 문자열이 아닌 경우 result에 문자를 추가 - 결과 문자열 result를 반환한다.
'자료구조 & 알고리즘 > Inflearn' 카테고리의 다른 글
[인프런 알고리즘] Chapter 1, 11번 문제(문자열 압축) (0) | 2024.07.10 |
---|---|
[인프런 알고리즘] Chapter 1, 10번 문제(가장 짧은 문자거리) (0) | 2024.07.09 |
[인프런 알고리즘] Chapter 1, 8번 문제(유효한 팰린드롬) (0) | 2024.07.07 |
[인프런 알고리즘] Chapter 1, 7번 문제(회문 문자열) (0) | 2024.07.07 |
[인프런 알고리즘] Chapter 1, 6번 문제(중복 문자 제거) (0) | 2024.07.07 |