티스토리 뷰
[Leetcode 알고리즘] JAVA- Longest Substring Without Repeating Characters 알고리즘 풀이
Riki 2019. 5. 13. 07:00
문제
Given a string, find the length of the longest substring without repeating characters.
문자가 반복되지 않는 최대의 길이를 반환하라는 문제
예제 1
Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3.
예제 2
Input: "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1.
예제 3
Input: "pwwkew" Output: 3 Explanation: The answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
내 소스
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 |
class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Integer, Character> hashmap = new HashMap<Integer, Character>(); int[] cnt = new int[s.length()]; int k = 0; int j = 0; int count = 0;
for (int i = 0; i < s.length(); i++) { int l = i; while (l < s.length()) {
if (hashmap.containsValue(s.charAt(l))) { cnt[j] = count; j = j + 1; count = 0; hashmap.clear(); break; }
if (!hashmap.containsValue(s.charAt(l))) { hashmap.put(l, s.charAt(l)); count = count + 1; cnt[j] = count; } l = l + 1; }
} } } |
cs |
이번에도 반복문 2개를 겹친 하드코딩을 했습니다 ㅠㅠ
조금 더 실용적인 코드를 짜신 분들은 알려주신다면 감사하겠습니다 ㅜ
'IT > 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 2156번 포도주 시식 (DP, 자바) (0) | 2020.02.16 |
---|---|
[백준 알고리즘] 2210 - 숫자판 점프(JAVA) (12) | 2020.02.08 |
[백준 알고리즘] JAVA - 1546번 JAVA 풀이 (0) | 2019.05.16 |
[백준 알고리즘] JAVA- 2839번 설탕배달 알고리즘 풀이 (0) | 2019.05.14 |
[백준 알고리즘] JAVA - 별 찍기 알고리즘 풀이 (0) | 2019.05.10 |
- Total
- Today
- Yesterday
- 어플 추천
- 포체티노 인터뷰
- 맨유
- 단어장
- 손흥민 골
- 한글
- 한컴
- 무리뉴
- 엑셀
- 축구 영어
- 단어
- 영어 단어
- 어플리케이션
- 맨체스터 유나이티드
- 축구
- 토트넘
- 영단어
- 축구 유튜버
- 파워포인트
- 일상 영어
- 솔샤르
- 웹사이트
- 앱
- 영어 공부
- 포체티노
- 영어
- 스포츠 영어
- 손흥민
- 산체스
- 오피스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |