[백준, 파이썬, 1440번] 타임 머신 풀이 해당 문제는 순열을 활용하여서 단순하게 해결하고자 했으며 각 영역에 따른 조건 분기를 거친 후 result 값을 변경하여 해결 from itertools import permutations li = list(input().split(":")) result = 0 for i in permutations(li): x = list(i) h,m,s = int(x[0]),int(x[1]),int(x[2]) if 0 알고리즘 2024.01.09
[백준, 자바, 1251번] 단어 나누기 풀이 해당 문제는 입력된 문자열을 3등분으로 나누어 역순 시킨 문자열 중 사전순 가장 앞의 문자열을 출력하는 문제이기에 단순히 아래와 같이 해결. import java.io.*; import java.util.*; public class 단어나누기 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String x = br.readLine(); Integer x_ln = x.length(); ArrayList result = new ArrayList(); for (int i = 0; i < x_ln-2; i++) { .. 알고리즘 2024.01.08
[백준, 파이썬, 1251번] 단어 나누기 풀이 해당 문제는 입력된 문자열을 3등분으로 나누어 역순 시킨 문자열 중 사전순 가장 앞의 문자열을 출력하는 문제이기에 단순히 아래와 같이 해결. x = input() x_ln = len(x) result = [] for i in range(x_ln-2): for j in range(i+1, x_ln-1): for z in range(j+1,x_ln): s = x[:i+1][::-1]+x[i+1:j+1][::-1]+x[j+1:][::-1] result.append(s) print(sorted(result)[0]) 알고리즘 2024.01.08