일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ORM
- programmers
- dabase
- Di
- JPA
- builder-pattern
- docker
- 코딩테스트연습
- CI
- hibernate
- CKA
- Oracle
- Kubernetes
- java
- map
- superBuilder
- 뷰
- 알고리즘
- CI/CD
- Vue
- 프로그래머스
- 자바
- 해시맵
- k8s
- Spring
- SpringMVC
- vuejs
- cd
- DevOps
- IntelliJ
Archives
- Today
- Total
문홍의 공부장
[Java] 프로그래머스 Lv.1 문자열 내림차순으로 배치하기 풀이 본문
반응형
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
str은 길이 1 이상인 문자열입니다.
나의 풀이
이것도 최근에 문제 풀다가 배열 내림차순하는 방법 찾아봤었어서..
사실 처음엔 List 객체에 문자열을 하나씩 넣고, Collections.reverse()
를 이용해 데이터를 내림차순해서 제출했었는데, 테스트에서 몽땅 실패가 나왔다^^;
그래서 다시 구글링을 해서 Collections.reverseOrder()
라는 메소드를 사용했다. 저번에 문제풀면서 이 메소드도 공부 했었는데 그새 까먹음ㅎㅎ... 복습 열씨미 하자.
1 2 3 4 5 6 7 8 | public String solution(String s) { String answer = ""; String[] arr = s.split(""); Arrays.sort(arr, Collections.reverseOrder()); return String.join("", arr); } | cs |
다른 사람의 풀이
방법은 비슷한 거 같은데 사용한 클래스가 좀 다르다. StringBuilder
의 reverse() 함수를 사용했다. 문자열을 배열에 넣을 때에도 split()으로 자른 게 하니라 toCharArray()
라는 메소드를 통해 한 문자씩 배열에 넣어주었다.
1 2 3 4 5 | public String reverseStr(String str){ char[] sol = str.toCharArray(); Arrays.sort(sol); return new StringBuilder(new String(sol)).reverse().toString(); } | cs |
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 Lv.1 소수 찾기 풀이 : 에라토스테네스의 체(소수 구하기 알고리즘) (0) | 2020.02.08 |
---|---|
[Java] 프로그래머스 Lv.1 문자열 다루기 기본 풀이 (0) | 2020.02.06 |
[Java] 프로그래머스 Lv.1 문자열 내 p와 y의 개수 풀이 (0) | 2020.02.06 |
[Java] 프로그래머스 Lv.1 두 정수 사이의 합 풀이 (0) | 2020.02.03 |
[Java] 프로그래머스 Lv.1 같은 숫자는 싫어 풀이 (0) | 2020.01.27 |