Algorithm (PS)

·Algorithm (PS)
https://www.acmicpc.net/problem/5557 5557번: 1학년 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀 www.acmicpc.net 1) 시간초과 풀이 n = int(input()) array = list(map(int, input().split())) answer = 0 def dfs(total, index, target): global answer if total 20: return if index == n-1: if total == target: answer += 1 return if 0
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 네트워크 덩어리를 찾을 때마다 dfs가 실행되고 그래프 탐색이 종료되면 그 네트워크 덩어리의 탐색이 끝났다는 것이다. 즉, dfs가 몇번 실행되는지 카운트 해주면 된다. 생각할 점은 인접그래프 형태로 computers 2차원 배열이 주어진다는 것이다. def solution(n, computers): answer = 0 visited = [False] * n def dfs(start): visit..
·Algorithm (PS)
https://www.acmicpc.net/problem/15724 15724번: 주지수 네모 왕국의 왕인 진경대왕은 왕국의 영토를 편하게 통치하기 위해서 1X1의 단위 구역을 여러 개 묶어서 하나의 거대 행정구역인 주지수(州地數, 마을의 땅을 셈)를 만들 예정이다. 진경대왕은 www.acmicpc.net 누적합 문제이다 백준 11660 구간합 구하기 5 문제를 지난주에 풀었어서 복습하는 차원으로 풀었다. https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다...
·Algorithm (PS)
https://www.acmicpc.net/problem/22856 22856번: 트리 순회 노드가 $N$개인 이진 트리가 있다. 트리를 중위 순회와 유사하게 순회하려고 한다. 이를 유사 중위 순회라고 하자. 순회의 시작은 트리의 루트이고 순회의 끝은 중위 순회할 때 마지막 노드이다. www.acmicpc.net 이 문제 풀다가 잘 안되서 리마인드용으로 1991 번도 다시 봤다 1991번 풀이 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc..
·Algorithm (PS)
https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 크게 두가지 경우로 생각하여 풀었다 ~ INF = int(1e9) dp = [INF]*(k+1) 우선 dp를 최대값으로 초기화 시켜준다! 사용하는 동전의 최소개수를 찾기 위해 계속 for문을 돌면서 갱신해줄 예정이므로 int(1e9) 값으로 초기화 해주었다. i) 동전과 현재 검사중인 금액 money 가 같으면 , 동전 하나로 해당 금액을 만들 수 있으므로 dp[mo..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(rows, columns, queries): answer = [] array = [[0]*columns for _ in range(rows)] k = 1 for i in range(rows): for j in range(columns): array[i][j] = k k += 1 for query in queries: x1, y1, x2, y2 = query[0]-1, que..
·Algorithm (PS)
https://www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net 구현문제이다 실버 2.. 하라는대로 명령처리를 해준다음에 기차를 for문을 통해서 하나씩 string으로 만들고, 이전에 등장했는지 count해준다 3번명령 4번명령을 처음에는 for문으로 구현하다가 생각해보니까 문자열슬라이싱을 쓰는 것이 파이썬이기도 하고 더 빠를것 같아서 개선했다 놀랍게도 pypy python 모두 통과한다 ㅋㅋ (파이썬은 조금 힘겹게 통과하긴함 ㅎ) n, m = ..
·Algorithm (PS)
https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net 1. 치킨집을 두개 지정해주어야 한다. 이를 combination을 이용하여 간단히 구현했다. 2. 치킨집 2개를 뽑는 모든 조합을 brute force로 확인한다. 그리고 왕복거리가 최소가 되는 경우를 구한다. 3. bfs는 치킨집 2개를 start node라고 가정하고, 치킨집에서 각각의 노드들을 방문하며 왕복거리를 계산했다. 4. answer 를 sort해서 가..
minjiwoo
'Algorithm (PS)' 카테고리의 글 목록 (18 Page)