[Python] 백준 1509 팰린드롬 분할
문제세준이는 어떤 문자열을 팰린드롬으로 분할하려고 한다. 예를 들어, ABACABA를 팰린드롬으로 분할하면, {A, B, A, C, A, B, A}, {A, BACAB, A}, {ABA, C, ABA}, {ABACABA}등이 있다.분할의 개수의 최솟값을 출력하는 프로그램을 작성하시오.https://www.acmicpc.net/problem/1509 난이도골드 1 코드import sysdef palin() : for i in range(n) : isPal[i][i] = True for i in range(2,n) : ii = i for j in range(1,n+1-i) : if x[ii] == x[j] : ..
2024. 10. 15.
[Python] 백준 17387 선분 교차 2
문제2차원 좌표 평면 위의 두 선분 L1, L2가 주어졌을 때, 두 선분이 교차하는지 아닌지 구해보자. 한 선분의 끝 점이 다른 선분이나 끝 점 위에 있는 것도 교차하는 것이다.L1의 양 끝 점은 (x1, y1), (x2, y2), L2의 양 끝 점은 (x3, y3), (x4, y4)이다.https://www.acmicpc.net/problem/17387 난이도골드 2 코드import sysdef CCW(a1,b1,a2,b2,a3,b3) : ccw = (a2-a1) * (b3-b1) - (b2-b1) * (a3-a1) return ccwx1,y1,x2,y2 = map(int,sys.stdin.readline().split())x3,y3,x4,y4 = map(int,sys.stdi..
2024. 10. 11.
[Python] 백준 12015 가장 긴 증가하는 부분 수열 2
문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.https://www.acmicpc.net/problem/12015 난이도골드2 내 코드import sysdef binarySearch(value) : left = 0 right = len(lis) - 1 while left value : right = mid - 1 else : left = mid + 1 return leftn = int(sys..
2024. 10. 9.