본문 바로가기
1018: 문자열 거리 최소화 하기 Link : judge.koreatech.ac.kr/problem.php?id=1018 1. 문제 N의 두 문자열 X, Y 가 주어졌을 때 두 문자열의 거리는, 같은 위치의 서로 다른 문자의 수로 정의한다. 즉, Distance(X, Y) = Sum(f(i)) (i = 0..N-1) f(i) = 1, if X[i] != Y[i] f(i) = 0, if X[i] == Y[i] 예를 들어, "ant" 와 "art" 의 거리는 1 이다. 두 문자열 A, B가 주어진다고 하자. 이 때, A의 길이는 B보다 짧거나 같다. 당신은 A의 길이가 B와 같아질 때까지 다음 동작을 수행할 수 있다. - 임의의 문자 C를 선택하여 A의 앞에 붙인다. - 임의의 문자 C를 선택하여 A의 뒤에 붙인다. 위의 연산을 적용하여 A.. 2020. 12. 10.
KOREATECH 1018: 문자열 거리 최소화 하기 Link : judge.koreatech.ac.kr/problem.php?id=1018 Python 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 from sys import stdin quest_cnt = int(stdin.readline().strip()) for i in range(quest_cnt): quest_str = stdin.readline().strip().split(' ') arr1 = quest_str[0] arr2 = quest_str[1] idx = [0 for _ in range(len(arr2) - len(arr1) + 1)] for x in range(len(arr1)): for y in range(x, x + len(idx)):.. 2020. 12. 10.
1017: 돈을 줍자 Link : judge.koreatech.ac.kr/problem.php?id=1017 1. 문제 동수가 길을 걷고 있는데, 천사가 나타나서 가는 길에 돈을 뿌려 놓았다. 그리고는 하는 말이 "마음껏 돈을 가져가세요, 하지만 연속해서 3개의 돈을 주우면 지옥에 가게 됩니다" 불쌍한 동수를 위해 가장 많은 돈을 주울 수 있는 프로그램을 작성해서 건내주도록 합시다. 돈이 [5, 7, 10, 1, 2, 10, 11, 6] 으로 놓여져 있다면 [5, 7, 10, 1, 2, 10, 11, 6] 이렇게 7, 10, 10, 11을 주어 38원(.....) 을 주울 수 있습니다. 2. 문제의 조건 1 2020. 12. 9.
KOREATECH 1017: 돈을 줍자 Link : judge.koreatech.ac.kr/problem.php?id=1017 Python 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 from sys import stdin testcase = int(stdin.readline().strip()) while testcase: length = int(stdin.readline().strip()) if length >= 3: dp = [0] * length arr = list(map(int, stdin.readline().strip().split(' '))) dp[0] = arr[0] dp[1] = sum(arr[0:2]) dp[2] = max((arr[0] + arr[1]), (arr[0.. 2020. 12. 9.
1015: 괄호 짝 Link : judge.koreatech.ac.kr/problem.php?id=1015 1. 문제 괄호마을의 우두머리 리습은 최근 골치를 썩고 있습니다. 원래 (, ) 밖에 살지 않던 마을이였는데 살다보니 {, }, [, ] 들이 추가가 되면서 관리를 하기 너무 복잡해 진 것이죠. 사람이 늘다보니 질서가 너무 어지럽혀 졌습니다. 본디 괄호란 서로 짝이 어울리는 위치에 있어야 하는데 말이죠. 리습의 골치를 해결해 주기 위해 나열된 괄호를 보고 올바른 짝이 맞는지 아닌지 판단하여 알려주세요. 2. 문제의 조건 n 2020. 12. 9.