일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Redux
- 프로그래머스
- Python
- Algorithm
- network
- TypeScript
- 알고리즘
- LeetCode
- Database
- CS
- 다이나믹 프로그래밍
- java
- frontend
- VIM
- Javascript
- vscode
- git
- DFS
- 안드로이드
- 자바
- 리트코드
- db
- BFS
- Data Structure
- 그레이들
- 백준
- Graph
- DP
- 동적 계획법
- react
Archives
- Today
- Total
늘 겸손하게
LeetCode 1704 - Determine if String Halves Are Alike ( Java ) 본문
코딩 문제/LeetCode
LeetCode 1704 - Determine if String Halves Are Alike ( Java )
besforyou999 2021. 11. 19. 20:19
안녕하세요 besforyou입니다
이번 글은 LeetCode 1704 - Determine if String Halves are Alike 문제 풀이입니다
문제 해설
길이가 짝수인 문자열 s가 주어집니다. 이 문자열을 길이가 같은 두 개의 문자열을 나누고 첫 번째 반쪽을 a, 두 번째 반쪽을 b라고합니다.
문자열 a, b가 각각 가지고 있는 vowels ( 'a', 'e', 'i', 'o', 'u', 'A', 'E, 'I', 'O', 'U' ) 문자의 개수가 동일하다면 alike 하다고 합니다.
문자열 s에는 소문자, 대문자 모두 있다는것을 기억하세요.
문자열 a, b가 alike하면 true, 아니면 false를 반환하세요.
문제 풀이
집합 자료구조를 생성하고 vowels 문자를 모두 저장합니다.
문자열 s를 substring 메소드를 이용하여 문자열 a와 b로 나누고 각 문자열이 가지고 있는 vowel 문자의 개수를 셉니다.
vowel 문자 개수가 동일하면 true, 다르면 false를 반환합니다.
코드
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
32
33
|
class Solution {
public boolean halvesAreAlike(String s) {
HashSet<Character> vowels = new HashSet<>();
vowels.add('a');
vowels.add('e');
vowels.add('i');
vowels.add('o');
vowels.add('u');
vowels.add('A');
vowels.add('E');
vowels.add('I');
vowels.add('O');
vowels.add('U');
int len = s.length();
String a = s.substring(0, len/2);
String b = s.substring(len/2, len);
int a_vowel_num = 0;
int b_vowel_num = 0;
for (Character c : a.toCharArray()) {
if (vowels.contains(c)) a_vowel_num += 1;
}
for (Character c : b.toCharArray()) {
if (vowels.contains(c)) b_vowel_num += 1;
}
if (a_vowel_num == b_vowel_num) return true;
return false;
}
}
|
cs |
결과
'코딩 문제 > LeetCode' 카테고리의 다른 글
LeetCode 654 - Maximum Binary Tree ( JavaScript ) (0) | 2021.11.21 |
---|---|
LeetCode 1525 - Number of Good Ways to Split a String ( Java ) (0) | 2021.11.20 |
LeetCode 442 - Find All Duplicates in an Array ( JavaScript ) (0) | 2021.11.17 |
LeetCode 1347 - Minimum Number of Steps to Make Two Strings Anagram ( JavaScript ) (0) | 2021.11.16 |
LeetCode 890 - Find and Replace Return ( JavaScript ) (0) | 2021.11.15 |