알고리즘

알고리즘/DFS BSF

SWEA - 1248 공통 조상

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15PTkqAPYCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 트리를 입력받고 주어진 노드 2개의 공통 조상을 찾고, 해당 조상의 서브 트리 크기를 구하는 문제였다. 문제 풀이 처음에 서브 트리 크기를 구하는 것을 서브 트리의 총 개수를 구한다고 생각했는데(풀진않고 생각만), 문제에 서브 트리 크기라고 아주 자세히 적혀 있었다. 먼저 공통 조상을 찾는 과정에서는 주어진 노드의 레벨을 확인해 같은 레벨로 만들어주고, 한 단계씩 레벨을 올려 같은 조상이 나오..

알고리즘/DFS BSF

SWEA - 1247 최적 경로

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15OZ4qAPICFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 회사 → 고객 집들 → 집 순서로 모든 곳을 돌 때, 가장 짧은 거리를 구하는 문제였다. 문제 풀이 모든 경우의 수를 다 구해서 풀면 되는 문제였다. #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int N; int hx, hy, wx, wy; //집, 회사 좌표 int cusMap[11][2]; ..

알고리즘/DFS BSF

SWEA - 1868 파핑파핑 지뢰찾기

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LwsHaD1MDFAXc SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 최소의 클릭수로 지뢰찾기 게임을 완료하는 문제였다. 문제 풀이 처음에 각 testcase마다 map과 visit vector를 매번 새로 만들어 초기화하면서 풀었는데 시간초과가 났다. dfs나 bfs로 완전탐색을 해야만 풀리는 문제 같은데 대체 어디서 초과가 나는 것인지를 모르겠어서 isInsid(), changeMap()과 같은 함수를 그냥 main과 dfs에서 풀어쓰고, 최대한 빨리 if문..

알고리즘/DFS BSF

SWEA - 7465 창용 마을 무리의 개수

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWngfZVa9XwDFAQU SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 창용마을에 살고 있는 사람들의 무리 개수를 구하는 문제였다. 문제 풀이 창용마을에 사는 사람들을 입력받아 그래프 벡터에 저장하고, 1부터 N까지의 사람들이 방문되지 않았다면 dfs를 돌려 그 사람과 연결된 사람들을 방문처리 해주며 풀었다. 이때 dfs를 돌린 횟수가 무리의 개수와 동일하다. #define _CRT_SECURE_NO_WARNINGS #include #include using na..

알고리즘/DFS BSF

SWEA - 4193 수영대회 결승전

문제 https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWKaG6_6AGQDFARV SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 맵에 규칙적으로 생성되고 사라지는 소용돌이가 있다. 이를 감안해서 출발지부터 목적지까지 가장 빠르게 도달하는 최단 경로를 구하는 문제였다. 문제 풀이 우선순위 큐를 이용해 bfs로 풀었다. 이때 다음 위치가 소용돌이라면 기다려야 하는 시간을 계산해서 더해서 queue에 넣어줬다. 가장 먼저 목적지에 도달한 경로가 최단 경로이다. 처음에 info 구조체에 visit vector를 ..

알고리즘/구현

프로그래머스 - 베스트앨범

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 플레이 횟수가 더 많은 장르의 음악 중 상위 2개 음악씩 뽑아 플레이 리스트를 만드는 문제였다. 문제 풀이 레벨 3의 문제여서 어려울 줄 알았는데 생각보다 쉬웠다. map에 저장하고.. vector 정렬만 해주면 끝! 별다른 오류도 없었다. 하하. 코테 준비를 하면서 프로그래머스의 알고리즘 고득점 kit의 문제를 푸는 중인데 이 문제로 해시 문제는 다 풀었다. 우하하 #include #inc..

알고리즘/구현

백준 - 14499

문제 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net map에서 주사위를 굴려 윗면을 출력하는 문제였다. 문제 풀이 x,y를 가로세로로 정해놓고 문제를 풀지 말것!! 세로가로인 문제도 정말 많은데 항상 가로세로로 놓고.. 풀고 보니 x, y를 바꿔서 생각해야 하는 문제.. 그리고 꼭 규칙을 찾으려고 하지도 말자! #define _CRT_SECURE_NO_WARNINGS #incl..

알고리즘/구현

백준 - 13458

문제 https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 필요한 감독관 수의 최솟값을 구하는 문제였다. 문제 풀이 각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다. 이 문구에서 나는 총감독관은 1명까지 있을 수 있으니 0명도 괜찮다고 이해하고 풀어서 예제 케이스가 다른 값이 나왔다. 예제 케이스를 풀기 위해서는 총감독관은 항상 1명씩 있어야 한다. 해당하..

hahihi
'알고리즘' 카테고리의 글 목록 (5 Page)