본문 바로가기

자르기3

[Java] 문자열을 한 글자씩 자르고 다시 합치기 String의 split()과 join()을 사용합니다. input_s = "gfedcba"; // 한 글자씩 자른다 String[] arr = input_s.split(""); /* arr = {"g", "f", "e", "d", "c", "b", "a"} */ // 사전순으로 정렬한다. Arrays.sort(arr); /* arr = {"a", "b", "c", "d", "e", "f", "g"} */ // 다시 문자열로 합친다. String str = String.join("", arr); /* str = "abcdefg" */ 2021. 3. 30.
[Java] SWEA 5432번 쇠막대기 자르기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 스택을 이용해서 문자열에서 현재 문자가 '(' 일 경우 '('를 카운팅 할 인덱스를 따로 두어 해당 인덱스로 스택에 추가했습니다. 다음으로 ')' 일 경우 만약 '('를 카운팅한 인덱스와 스택의 top의 결과가 1이라면 레이저 이므로 현재 스택의 크기가 잘린 쇠막대기의 개수가 됩니다. 다음으로 1이 아니라면 쇠막대기가 끝났으므로 해당 쇠막대기의 끝 부분또한 포함 시켜야 하므로 +1을 해주어 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea.. 2021. 3. 17.
[Python] 문자열을 일정 길이로 자르기 seq='f09f9989x'; length=2; [seq[i:i+length] for i in range(0, len(seq), length)] # 결과 # ['f0', '9f', '99', '89', 'x'] seq='f09f9989x'; length=2; [''.join(x) for x in zip(*[list(seq[z::length]) for z in range(length)])] # 결과 #['f0', '9f', '99', '89'] seq='f09f9989x'; length=2; map(''.join, zip(*[iter(seq)]*length)) # 결과 # ['f0', '9f', '99', '89'] 참고 사이트 Split String into n-size pieces « Python re.. 2021. 3. 14.