SWEA 40

[D4] SWEA 4111번 무선 단속 카메라 C++ 그리디 알고리즘

리뷰 https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 이분 탐색으로 접근했다가 틀리고 그리디로 접근했더니 AC를 받은 문제 백준에 동일한 문제가 존재한다. 1 + 1 문제[G5] 백준 2212번 센서 C++ [G5] 백준 2212번 센서 C++리뷰 https://www.acmicpc.net/problem/2212고속도로에 집중국을 적절히 배치해서 수신 가능 센서 영역의 길이의 합이 최소가 되게 하는 문제2일간 문제를 고민했는데 적절한 방법이 떠올라 적용했더니 ACzzzz955.tistory.com  전역..

[D6] SWEA 1795번 인수의 생일 파티 C++ 다익스트라

리뷰 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4xuqCqBeUDFAUx SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com단방향 인접 리스트를 정방향과 역방향 리스트 두개를 만들고, 각각 다익스트라를 돌려 최적해를 구하는 문제  전역 변수T : 테스트 케이스의 개수를 저장할 변수N : 각 테스트 케이스의 노드의 개수를 저장할 변수M : 각 테스트 케이스의 간선 개수를 저장할 변수X : 각 테스트 케이스의 목표 노드를 저장할 변수ans : 각 테스트 케이스의 정답을 저장할 변수Edge : 간선의 목표 노드와 거리를 정의..

[D4] SWEA 1251번 [S/W 문제해결 응용] 4일차 - 하나로 MST, 최소 스패닝 트리

리뷰  SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com모든 섬을 연결하는 해저터널의 최소 길이를 구하는 문제, 크루스칼 MST문제의 기본형이다.간선의 가중치를 직접 구해야 하며 소숫점이 들어오기 때문에 형변환이 중요해 보인다.  전역 변수t : 테스트 케이스의 개수를 저장하기 위한 변수n : 섬의 개수를 저장하기 위한 변수e : 환경 부담 세율을 저장하기 위한 변수nodes : 유니온 파인드를 통해 그룹을 짓기 위한 정수형 배열Pos : x, y 위치 좌표 정보를 정의하기 위한 구조체poses : 각 섬의 x, y 좌표를 저장하기 위한 Pos타입의 배열Edge : 간선 정보를 정의하기 위한 구조체, 시작 및 도착 ..

[D4] SWEA [S/W 문제해결 기본] 2일차 - Ladder1 C++ 구현, 시뮬레이션, 브루트포스 알고리즘

리뷰  SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com진짜 맞왜틀을 엄청 외쳤는데 진짜 맞왜틀이였다, SWEA의 기본 문제들 처럼 테스트케이스의 개수가 주어지는 것이 아닌, 테스트 케이스는 10개 고정이고 각 문제의 번호가 맵 입력 전에 주어지는 구조였다.첫 번째 케이스만 맞고 나머지가 오답 처리가 된다면 꼭 Input파일을 다운받아 한번 확인해 보길 바란다.  전역 변수t : 각 문제의 번호를 입력 받을 변수lst : 맵 정보를 입력 받아 저장할 정수형 2차 배열v : 가로 선을 만나 꺾인 경우의 방문 처리를 위한 정수형 3차 배열dy : 좌우로 이동하기 위한 방향 배열 함수1. inputvoid input() ..

[D3] SWEA 22683번 나무 베기 C++ 다익스트라, 최단 경로

리뷰 백준의 벽부수고 이동하기 시리즈와 유사한 문제였다. SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  전역 변수tc, n, k : 테스크 케이스의 개수 tc, 각 테케당 한 변의 개수 n, 각 테케당 나무를 벨 수 있는 횟수 ksx, sy, ex, ey : 각 테스트 케이스당 시작 및 도착 지점의 x, y좌표lst : 문자열로 이루어진 맵 정보, 최대 10 * 10의 크기이다.dx, dy : 상하좌우 이동시 사용할 방향 배열, 상우하좌 순으로 인덱싱이 되어 있다.Pos : 탐색을 할때 현재 정보에 대한 정보를 담을 구조체, 현재 위치, 방향, 자른 나무의 개수, 시간 정보가 있다. 우선순위 큐를 사용해 주어야..

[D2] SWEA 22654번 차윤이의 RC카 C++ 구현, 시뮬레이션

리뷰 RC카의 움직임을 각 쿼리문으로 제어하고 최종 위치가 목적지인지 확인하는 문제 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 전역변수tc : 테스트 케이스의 개수n, q : 맵의 한 변이 길이 n, RC카를 조종하는 횟수의 개수 qsx, sy, dx, dy : 시작 위치와 도착 위치의 x, y 좌표lst : 맵 정보, 문자열로 입력받으며 최대 5 * 5의 크기dx, dy : 상하좌우로 이동할 방향 배열, 0번 인덱스부터 3번인덱스까지 북동남서 방향으로 세팅한다. 함수1. inputvoid input() 한 변의 개수를 입력 받고 n * n의 맵 정보를 입력 받아준다.위치가 X일 경우 시작 위치의 좌표를 sx..

SWEA 5648번 [모의 SW 역량테스트] 원자 소멸 시뮬레이션 C++ 구현, 시뮬레이션

리뷰 방향 배열을 사용한 전형적인 시뮬레이션 문제 문제 풀이전역변수로 원자의 개수 n, 남은 원자의 개수 cnt, 정답을 출력할 ans, 맵 배열 lst, 방향 배열을 설정해 주었다.좌표의 범위는 -1000 ~ 1000이지만 -인덱싱을 방지하기 위해 +1000을 해준다.추가로 원자가 만나지 않고 지나치는 경우를 방지하기 위해 *2를 해준다. 즉, 좌표의 범위는 4000 * 4000이다.원자의 정보를 담을 구조체 Atom과 위치를 나타낼 구조체 Pos를 만들고 원자 벡터 atoms를 초기화해 주었다.init 함수를 통해 cnt, ans를 0으로 초기화 하고 atoms배열 및 맵 정보를 테케마다 초기화 해준다.input 함수를 통해 n값을 입력 받고 n개의 원자 정보를 atoms 벡터에 추가해 준 뒤 맵에 ..

SWEA 1494번 D4 사랑의 카운슬러 C++ 백트래킹, DFS

리뷰 문제 풀이전역변수로 테케의 수 tc와 지렁이의 수 n, 이동과 대기한 수를 나타낼 Move, Stay 정답 변수 ans를 설정한다.init 함수를 통해 ans를 최대한 큰 값, Move와 Stay를 0으로 초기화 해준다.input 함수를 통해 n값과 n개의 지렁이의 좌표를 Pos 구조체를 활용하여 pos배열에 저장해 준다.dfs 함수를 통해 각 지렁이가 짝을 지었을때의 좌표 벡터값을 구해줄 것이다.매개변수로는 지렁이 인덱스를 나타낼 level과 x좌표의 값 sumX, y좌표의 값 sumY를 전달해 준다.Move와 Stay가 각각 n / 2보다 작을 경우 Move와 Stay를 각각 증가시켜주고 재귀를 진행하면 된다.재귀를 전달할땐 level인덱스의 x, y좌표를 sumX, sumY에 더해주고 leve..

SWEA 1244번 [S/W 문제해결 응용] 2일차 - 최대 상금 C++ 그리디 알고리즘, 시뮬레이션

리뷰 처음엔 주어진 자릿수와 최대 교환 횟수가 적기에 완전 탐색으로 구현하려 했으나 최대 교환 횟수를 모두 소진해야 하기에 백트래킹 구현 시 시간 초과가 출력되었다.따라서 최적의 조건만 생각하는 그리디 알고리즘으로 접근하니 숩게 풀렸다.D3 난이도에서 너무 어렵게 생각했던 것 같다.   SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  문제 풀이각 테스트 케이스에서 숫자를 스트링 s로 받아오고, 최대 교환 횟수를 k로 받아온다.정답 출력용 변수 ans를 0으로 초기화 하고 문자열 s의 크기를 length에 초기화 해준다.탐색할 문자열의 인덱스 level = 0, 교환 횟수 cnt = 0으를 재귀 함수의 매개변수로 ..

SWEA 10966번 물놀이를 가자 C++ BFS, Flood Fill, 너비 우선 탐색

리뷰 땅에서 어떠한 물로 이동한다고 생각하면 굉장히 어렵게 느껴지나, 물에서 땅으로 퍼지는 시간을 구하면 쉽게 생각할 수 있는 문제   SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 문제 풀이init 함수를 통해 정답을 출력할 변수 ans를 0으로 초기화 하고, 방문 배열을 전부 -1로 초기화 해준다.input 함수를 통해 n과 m값을 받고 맵 정보를 받아온다, 이때 W의 좌표를 Pos 구조체 타입의 큐 q에 추가해 주고 해당 좌표의 방문 처리를 0으로 초기화 해준다.큐에 담긴 좌표를 통해 bfs 함수를 실행해 준다, 해당 좌표에서 퍼져나갈 수 있는 위치까지 쭉 퍼져나가면 된다.퍼져나가면서 방문 처리는 현재 좌표..

728x90