2022년 06월 10일 금요일 - 금요일 너무 좋아!!
오늘 올려볼 문제는 3번 Longest Substring Without Repeating Characters 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
풀었던 문제여따
입력
사진에서도 볼 수 있듯이 String 1개가 입력으로 들어온다.
풀이 및 코드
substring 중에 가장 길고 중복된 원소를 가지지 않는 substring의 길이를 구하여 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
boolean 배열을 만들어서 중복체크를 하고 포인터 2개를 사용해서 substring을 구했다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int lengthOfLongestSubstring(String s) {
boolean[] selected = new boolean[256];
int first = 0, second = 0, result = 0, sum = 0;
if(s.length() == 0)
return 0;
for(first = 0; first < s.length(); first++)
{
if(!selected[s.charAt(first)])
{
selected[s.charAt(first)] = true;
sum++;
result = Math.max(sum, result);
}
else
{
while(s.charAt(first) != s.charAt(second++))
{
selected[s.charAt(second - 1)] = false;
sum--;
}
}
}
return result;
}
}
제출 화면
요즘 회사에서는 문제를 풀 시간이 없으니 생각하는 시간이 적어진 느낌이다.
내일은 주말이니 문제를 음미해봐야겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
| [LeetCode] 1695번 문제를 풀어보았다. (ft. java) (0) | 2022.06.12 |
|---|---|
| [LeetCode] 1658번 문제를 풀어보았다. (ft. java) (0) | 2022.06.11 |
| [LeetCode] 1332번 문제를 풀어보았다. (ft. java) (0) | 2022.06.08 |
| [LeetCode] 88번 문제를 풀어보았다. (ft. java) (0) | 2022.06.07 |
| [LeetCode] 160번 문제를 풀어보았다. (ft. java) (0) | 2022.06.06 |