728x90

2025/03/18 2

[백준] 24060 | 알고리즘 수업 - 병합 정렬 1 [파이썬/python]

문제link: https://www.acmicpc.net/problem/24060주어진 의사 코드대로 병합 정렬을 진행할 때, 배열 A에 K번째로 저장되는 수를 구하는 문제이다. 접근병합 정렬 구현 후 배열 A에 숫자가 저장되는 횟수를 카운트하여 K번째 수를 구했다.정답은 맞혔지만 코드 효율성이 좋지 않은 것 같아 어떻게 하면 개선할 수 있을지를 추가로 생각해보았다. 현재 코드에서는 병합 정렬을 끝까지 진행하고 있는데, K번째 숫자만 구하면 되므로 값을 구한 후에 병합 정렬을 멈추고 값을 출력할 수 있도록 고치면 더 좋은 코드가 될 것 같다! 코드import sysinput = sys.stdin.readlinedef merge_sort(A): if len(A)

코딩테스트 2025.03.18

[백준] 25501 | 재귀의 귀재 [파이썬/python]

문제link: https://www.acmicpc.net/problem/25501문자열의 팰린드롬 여부와 팰린드롬 여부를 확인하기 위해 재귀함수를 호출한 횟수를 출력하는 문제이다.(C, python, JAVA의 경우 문제 페이지에서 팰린드롬 여부를 확인하기 위한 함수 코드를 제공하고 있기 때문에 복사해서 이용할 수 있다.) 접근본문에 제시된 함수에 재귀함수 호출 횟수를 확인하기 위한 변수 cnt를 추가하여 문제를 해결했다. 코드import sysinput = sys.stdin.readlinedef recursion(s, l, r, cnt): cnt += 1 if l >= r: return 1, cnt elif s[l] != s[r]: return 0, cnt else: return ..

코딩테스트 2025.03.18
728x90