목록공부 (25)
dev_eun
유닛테스트 하는 방법 참조 Microsoft.VisualStudio.TestTools.CppUnitTestFramework API - Visual Studio 이 문서에서는 Microsoft 기본 단위 테스트 프레임워크를 기반으로 C++ 단위 테스트를 작성하는 데 사용할 수 있는 CppUnitTestFramework 멤버에 대해 설명합니다. docs.microsoft.com 1. 솔루션에 '기본 단위 테스트 프로젝트' 추가하기 2. 테스트프로젝트의 참조에서 참조 추가를 눌러 테스트할 프로젝트 추가하기 3. 테스트.cpp에 테스할 함수가 있는 파일 include 4. 테스트 함수 작성 결과를 테스트 탐색기에서 확인할 수 있다. 창이 안보인다면 테스트 옵션에서 탐색기 누르거나 Ctrl + E, T 단축키 자..
루트 노드부터 순회 while (stack.length != 0) { let [current, parent] = stack.pop(); visited[current] = true; for (let child of nodeList[current]) { if (!visited[child]){ // 수행할 일 stack.push([child, current]); } } } 리프 노드부터 순회 while (stack.length != 0) { let [current, parent] = stack.pop(); if (visited[current]) { // 수행할 task continue; } stack.push([current, parent]); visited[current] = true; for (let ch..
코딩테스트 연습 - 모두 0으로 만들기 각 점에 가중치가 부여된 트리가 주어집니다. 당신은 다음 연산을 통하여, 이 트리의 모든 점들의 가중치를 0으로 만들고자 합니다. 임의의 연결된 두 점을 골라서 한쪽은 1 증가시키고, 다른 한 programmers.co.kr 트리이기 때문에 어떠한 노드를 골라도 루트노드가 될 수 있다. 리프 노드부터 시작해서 bottom-up으로 루트까지 올라가면 되겠다고 생각했었다. 그러려면 부모 노드가 누구인지 알아야 하는데, 그렇게 할 필요가 없었다. 자식 노드의 순서가 중요하지 않기 때문에 자식 노드의 수만 세고 있으면 되었던 것. 그래서 리프 노드부터 시작해서 자신과 각 부모 노드의 weight를 수정하는 방식으로 진행했다. 루트(0번 노드)에서 시작하는 dfs, bfs로..
코테는 언더라인을 정하기 위한 수단이다. 완벽하게 정리된 코드가 아니어도 된다. 전역 변수를 잘 활용하자(visited, 연결 노드 벡터 등등) pop 함수 사용할 땐 항상 empty인지 확인하자. 트리 자식 순서가 중요하지 않을 땐 자식 노드의 개수를 활용하자.
프로그래머스 괄호 회전하기 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 정상적인 괄호 묶음인지 확인하는 것은 stack 문제로 유명한 것이니 그렇게 해결하면 됐는데, string을 어떻게 하나씩 shift할 수 있을까 하다가 rotation queue가 생각나서 queue로 해결하였다. 다른 사람들의 코드를 보니 string에서 맨 앞을 지우고 맨 뒤로 추가하는 방식으로도 많이 한 것 같다. 테스트에서 13번을 처음에 틀렸었는데 여는 괄호만 있는 케이스(ex. "{{{")를 해결하지 않아서 였다. c++ 코드 eun-seong/Documents 정리. Contribute to eun-seong/Documents development by creating an account on Gi..
programmers.co.kr/learn/courses/30/lessons/42586?language=cpp 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr c++ #include #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int sz = progresses.size(); int release = ceil((double)(100-progresses[0])/..
programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr from collections import defaultdict def solution(n, results): answer = 0 win = defaultdict(set) lose = defaultdict(set) for res in results: win[res[0]].add(res[1]) lose[res[1]].add(res[0]) for i in range(1, n+1): for j in lose[i]: win[j].update(win[i]) for k in win[i]: lo..
www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 www.acmicpc.net from sys import setrecursionlimit setrecursionlimit(10**9) dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] dp = [[0]*501 for _ in range(501)] N = int(input()) bamboo = [] result = 0 def dfs(i, j): if dp[i][j]: return dp[i][j] dp[i][j] =..