티스토리 뷰
아나그램이란 두 문자열이 알파벳의 나열 순서는 다르지만 알파벳 구성이 일치하면 두 단어는 아나그램이라고 합니다.
한 단어를 재 배열하면 같은 단어가 된다는 것을 아나그램이라고 합니다.
ex) 가나 > 나가, 국왕 > 왕국, 남장 > 장남
ex) TAR > RAT, ARC > CAR, ELBOW > BELOW
주어진 두 단어를 정렬하는 방법
func anagram(s1: String, s2: String) -> Bool {
guard s1.count == s2.count else { return false }
let sorted1 = s1.sorted()
let sorted2 = s2.sorted()
if sorted1 == sorted2 {
return true
} else {
return false
}
}
print(anagram(s1: "TAR", s2: "RAR"))
print(anagram(s1: "ARC", s2: "CAR"))
print(anagram(s1: "ELBOW", s2: "BELOW"))
가장 먼저 떠오른 방법이 주어진 두 단어를 정렬하는 방법입니다.
처음 guard문을 둔 이유는 두 문자열의 개수를 같은지 비교해줍니다.
s1문자열을 정렬해주고, s2문자열을 정렬해줍니다.
그리고 if문으로 sorted1, sorted2이 같은지 비교해줍니다.
3개의 예제의 과정을 보면 아래와 같습니다.
'Tech > Algorithm' 카테고리의 다른 글
LeetCode알고리즘 Maximum Number of Vowels in a Substring of Given Length (0) | 2021.06.21 |
---|---|
LeetCode알고리즘 Top K Frequent Elements (0) | 2021.05.24 |
LeetCode알고리즘 Find the Duplicate Number (0) | 2021.04.28 |
LeetCode알고리즘 Contains Duplicate (0) | 2021.04.23 |
에라토스테네스의 체 알고리즘 (0) | 2021.04.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 책
- 스위프트UI
- leetcode
- 책 후기
- 알고리즘
- stanford SwiftUI
- 책 추천
- 딥러닝
- objective-c
- rxswift
- objc
- string
- ReactiveX
- ARC
- Algorithm
- 스위프트
- SWIFT
- wwdc
- ios
- 머신러닝
- swift5
- swiftUI
- Xcode
- Deep learning
- 문자열
- Animation
- RX
- iOS SwiftUI
- 애니메이션
- 독서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함