python

알고리즘/PS

[프로그래머스] 연속 펄스 부분 수열의 합 (Python)

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 접근 어떤 수열에 펄스 수열을 원소끼리 곱해서 합이 최대가 되는 부분 수열을 찾아야 한다. 이때 펄스 수열은 [1,-1,1,-1], [-1,1,-1,1]과 같이 1과 -1이 번갈아 나오는 수열을 뜻한다. 먼저 합이 최대가 되는 부분 수열의 합을 구하려면 수열의 누적합을 구한 후 차가 가장 큰 경우를 구하면 된다. 그런데 이 문제에서는 펄스 수열을 곱해야하므로 2가지 수열을 모두 고려해야 한다. 문제의 예시를 가지고 펄스 수열을 곱한..

알고리즘/PS

[BOJ] 1068 트리 (Python)

정말정말 오랜만에 쓰는 블로그 글!원래는 알고리즘을 Swift로만 하다가 최근에는 파이썬도 하고 있다   문제 링크 https://www.acmicpc.net/problem/1068 문제 접근트리에서 특정 노드를 지웠을 때, 남아있는 트리의 노드 중 리프 노드의 개수를 구하는 문제이다.  트리 문제를 풀 때는 보통 그래프로 접근을 하고, 2차원 배열에 한 노드에 연결된 노드 번호를 모두 저장하는 식으로 구현을 한다.  위의 그림으로 예를 들자면 아래처럼 저장을 한다는 이야기다. [ [1,2], // 0번 노드 [0,3,4], // 1번 노드 [0], // 2번 노드 [1], // 3번 노드 [1] // 4번 노드] 하지만 리프 노드인지에 대한 판단을 어떻게 할 것인가? 라..

시로-
'python' 태그의 글 목록