티스토리 뷰
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < N; i++) {
list.add(br.readLine());
}
// 정렬
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
if (s1.length() > s2.length()) {
return 1;
} else if (s1.length() < s2.length()) {
return -1;
} else {
int s1Sum = getSum(s1);
int s2Sum = getSum(s2);
if (s1Sum > s2Sum) {
return 1;
} else if (s1Sum < s2Sum){
return -1;
} else {
return s1.compareTo(s2);
}
}
}
});
// 출력
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
static int getSum(String s) {
char[] chars = s.toCharArray();
int sum = 0;
for (int i = 0; i < s.length(); i++) {
if ((chars[i] - '0' <= 9) && (chars[i] - '0' >= 0)) {
sum += chars[i] - '0';
}
}
return sum;
}
}
- C++ 풀이 있길래 참조함
- 아직 Collections.sort 쓰는게 조금 어려운듯, 생각은 했는데 구현을 못했음
- 문자열에서 숫자 뽑을때 아스키코드 생각하기
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 김영한 JPA
- 드림코딩
- GCP
- JS 딥다이브
- ㅇㄷㅇㅈ
- 패스트캠퍼스 컴퓨터공학 완주반
- 백준
- js api
- http
- 이펙티브자바 아이템59
- BOJ
- js promise
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- java
- js array
- REST API
- 이펙티브자바 아이템60
- 킹수빈닷컴
- 이펙티브자바
- 프로그래머스 SQL
- 프로그래머스
- Spring Security
- dreamcoding
- 김영한 http
- 모던자바스크립트
- HTTP 완벽 가이드
- HTTP 완벽가이드
- 백기선 스터디
- 이펙티브자바 스터디
- JPA 연관관계 매핑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함