728x90
반응형
#10
String이 주어지면, 중복된 char가 없는 가장 긴 서브스트링 (substring)의 길이를 찾으시오.
// Input : "aabccbc"
// output : 3("abc")
문자 list를 만든 후, for문을 돌며 문자를 추가한다. 같은 문자가 포함되어 있을시 list length를 구하여 maxLength보다 크면 maxLength교체 크지 않으면 현 maxLength를 유지한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static int solution(String str) { int maxLength = 0; List<Character> list = new ArrayList<>(); for(int i=0; i<str.length(); i++) { if(list.contains(str.charAt(i))) { maxLength = maxLength > list.size() ? maxLength : list.size(); list.clear(); } list.add(str.charAt(i)); } return maxLength; } | cs |
728x90
반응형
'프로그래밍 노트 > 알고리즘' 카테고리의 다른 글
[Think Data Structues]알고리즘 분석법 (0) | 2018.10.10 |
---|---|
[JAVA] 링크드리스트(linkedList) 중간 Node 구하기 (0) | 2018.07.30 |
[JAVA] 팩토리얼(Factorial) 구하기 (0) | 2018.05.28 |
[JAVA] 피보나치(fibonacci) 문제 (0) | 2018.05.28 |
[JAVA] FizzBuzz 구현하기 (0) | 2018.04.27 |