일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MySQL
- on-prem
- 방통대 대학원 정보과학과
- 하늘과 바람과 별과 詩
- ingress-nginx
- C++
- Code Jam 2022
- 2022
- 3D PRINTING
- 정보과학과
- 해커랭크
- ESXi 업데이트
- secondlowestgrade
- swift
- openebs
- Kubernetes
- hackerrank
- K8S
- LEVEL 2
- Code Jam
- 하늘과 바람과 별과 시
- 방송통신대학교 대학원 정보과학과
- Qualification Round
- nestedlists
- 파이썬
- 프로그래머스
- GitLab
- Python
- 코딩테스트
Archives
- Today
- Total
공대생의 비망록
[프로그래머스][Lv. 1] 문자열 내림차순으로 배치하기 Swift 풀이 본문
https://programmers.co.kr/learn/courses/30/lessons/12917
코딩테스트 연습 - 문자열 내림차순으로 배치하기
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로
programmers.co.kr
풀이
Swift에서 배열을 여러번 다뤄봤다면 쉽게 해결할 수 있다.
그렇지 않은 분들은 이번 기회에 sort(by: ), sorted(by: ) 등의 정렬 함수를 익히는 것을 추천한다.
먼저, 입력으로 받은 문자열 s를 for loop를 통해 모두 값 반환을 위해 생성한 Character 배열 str에 추가해준다.
그 후 sort(by: ) 함수를 사용하여 정렬해준 후 String으로 형변환하여 반환하면 문제를 해결할 수 있다.
그냥 sort() 함수를 사용하면 오름차순으로 정렬해주므로 '> 연산자'를 통해 내림차순으로 정렬하도록 했다.
끝!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
func solution(_ s:String) -> String {
var str = [Character]()
for c in s {
str.append(c)
}
str.sort(by: > )
// str.sort(by: {$0.asciiValue! > $1.asciiValue!})
//print("ans: \(String(str))")
return String(str)
}
|
cs |
'Programming Language > Swift' 카테고리의 다른 글
[프로그래머스][Lv. 1] 문자열 내 마음대로 정렬하기 Swift 풀이 (0) | 2022.03.14 |
---|---|
[프로그래머스][Lv. 1] 문자열 내 p와 y의 개수 Swift 풀이 (0) | 2022.03.14 |
[프로그래머스][Lv. 1] 문자열 다루기 기본 Swift 풀이 (0) | 2022.03.14 |
[프로그래머스][Lv. 1] 서울에서 김서방 찾기 Swift 풀이 (0) | 2022.03.14 |
[프로그래머스][Lv. 1] 소수 찾기 Swift 풀이 (0) | 2022.03.14 |
Comments