문제 설명
알파벳 대문자와 숫자(0 ~ 9)로만 구성된 문자열이 입력으로 주어질 때, 모든 알파벳을 오름차순으로 정렬해서 출력한 후 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다.
입력조건
- 하나의 문자열 S(1 <= S의 길이 <= 10,000)
출력조건
- 문제에서 요구하는 정답 출력
입출력 예시
-
입력예시 출력예시 K1KA5CB7 ABCKK13 AJKDLSI412K4JSJ9D ADDIJJJKKLSS20
문제 풀이
- 입력받은 문자열 S에서 알파벳과 숫자를 구분해서 알파벳은 오름차순 정렬, 숫자는 모두 더해서 출력한다.
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = br.readLine();
int sum = 0;
ArrayList<Character> array = new ArrayList<>();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
array.add(str.charAt(i));
} else {
sum += str.charAt(i) - '0';
}
}
Collections.sort(array);
for (int i = 0; i < array.size(); i++) {
bw.write(array.get(i));
}
if (sum != 0) {
bw.write(sum+ "\n");
}
bw.flush();
bw.close();
}
}
[참고서적]
이것이 취업을 위한 코딩 테스트다 with 파이썬 by 나동빈
'PS > 이코테' 카테고리의 다른 글
[이코테][Java] 안테나 (1) | 2024.12.28 |
---|---|
[이코테] 정렬(Sort) (0) | 2024.12.26 |
[이코테][Java] 럭키 스트레이트 (1) | 2024.11.19 |
[이코테] 구현(Implementation) (1) | 2024.11.18 |
[이코테][Java] 문자열 뒤집기 (0) | 2024.11.12 |