티스토리 뷰
728x90
https://www.acmicpc.net/problem/1181
[정렬] Java
오랜만에 자바로 푸니까 다 까먹음 진짜
반성하면서 앞으로 자바로 풀겠습니다..
문제가 딱 생긴게 자바로 풀면 딱이라 시도해봤는데
그건 맞는데 암튼
1. 길이로 정렬 -> Collections.sort사용 comparator써서 a.length()-b.length() 반환
2. 길이가 같으면 사전순으로 정렬 -> Collections.sort comparator에서 a.compareto(b) 사용
3. 중복없이 출력 -> HashSet 사용 (처음 써봄)
소스코드
import java.util.*;
public class CharSotring {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.nextLine());
//중복없이 입력받음
HashSet<String> strSet = new HashSet<>();
String str;
for(int i = 0 ; i < n ; i++){
str = in.nextLine();
strSet.add(str);
}
//정렬 1.길이 2. 길이같으면 사전순
ArrayList<String> arrList = new ArrayList<>(strSet);
Collections.sort(arrList, (a,b)->{if(a.length() == b.length()) return a.compareTo(b); else return a.length()-b.length();});
//출력
for(String s : arrList)
System.out.println(s);
}
}
728x90
'알고리즘 문제풀이' 카테고리의 다른 글
[백준 15650] 알고리즘 18일차 : N과 M(2) (0) | 2020.07.08 |
---|---|
[백준 15649] 알고리즘 17일차 : N과 M(1) (0) | 2020.07.07 |
[백준 1541] 알고리즘 16일차 : 잃어버린 괄호 (python) (0) | 2020.07.06 |
[백준 11650] 알고리즘 14일차 : 좌표 정렬하기 (0) | 2020.03.15 |
[백준 1427] 알고리즘 13일차 : 소트인사이드 (0) | 2020.03.14 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 수학
- 동적계획법
- 스택
- 최단경로
- 이분탐색
- 브루트포스
- 트리
- dp
- BFS
- dfs
- 최대힙
- 프로그래머스
- 최소힙
- 게임이론
- 알고리즘
- 토마토
- 백준
- 파이썬
- 정렬
- 투포인터
- 우선순위큐
- 다이나믹프로그래밍
- 그리디알고리즘
- 자바
- 백트래킹
- Stack
- c++
- Swift
- 문자열
- 웹크롤링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함