목록string (3)
코드 한 줄
사용자 환경 : macOS Sierra 10.12.6, Python 3.6.4, PyCharm 2017.3.4 build PC-173.4674.37. 인덱싱에서는 문자열 중에서 어느 위치에 있는 문자를 뽑아낼 때 사용했다. 그렇다면 파이썬 문자열 인덱싱에 대해 다룬 게시글에서 사용했던 예제인 "Life is too short, You need Python"이라는 문자열에서 단순히 한 문자만을 뽑아내는 것이 아니라 "Life" 또는 "You" 같은 단어들을 뽑아내는 방법은 없을까? 다음과 같이 슬라이싱 기법을 이용하면 간단하게 처리할 수 있다. >>> a = "Life is too short, You need Python" >>> a[0:4] 'Life' 눈치가 빠른 사람들은 이미 알겠지만, a[0:4]가..
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. String이 주어지면, 중복된 char가 없는 가장 긴 substring의 길이와 문자열을 찾아라. 예제 } Input : aabcbcbc Output : 3 // abc Input : aaaaaaa Output : 1 // a Input : abbbcedd Output : 4 // bced 이 문제는 해쉬맵을 사용하여 char와 char의 인덱스를 저장하여 풀면 된다. string의 각 char를 보면서 해쉬맵에 있다면 substring 시작점을 char의 인덱스+1 로 두면 된다. 그리고 현재 char의 인덱스와 시작점의 거리를 계속 계산하여 가장 큰 값을 리턴하면 된다. int longestSubstringLength(String s) { ..
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 주어진 String에 모든 단어들을 거꾸로 출력하라. 예제 } Input : "abc 123 apple" Output : "cba 321 elppa" 이 문제는 긴 String 을 각 단어로 나눈 다음, 각 단어를 거꾸로 하고, 모든 단어들을 합치면 풀 수 있다. public String reverseString(String s) { String words[] = split(s); StringBuilder res = new StringBuilder(); for (String word: words) res.append(reverse(word) + " "); return res.toString().trim(); } public String[] spli..