swea 5

[SWEA][C++] 1289. 원재의 메모리 복구하기

문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 문제 이해초기화 상태(모든 bit가 0)에서 원래 상태로 복구해야 한다.복구할 때는 bit 중 하나를 골라 0 또는 1을 결정하고, 해당 값이 메모리의 끝까지 덮어씌워진다.초기화 상태에서 원래 상태로 복구할 때 최소 수정 횟수를 구한다. 입출력 예시입력: 00110000에서 3번째 bit를 골라 1로 설정하면 0011이 되므로, 출력값은 1이다.입력: 100000 → 111 → 100로, 출력값은 ..

[SWEA][C++] 1209. [S/W 문제해결 기본] 2일차 - Sum

문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13_BWKACUCFAYh SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com풀이각 행의 합, 각 열의 합, 각 대각선의 합을 각각 구하고 비교한다.코드#include #include using namespace std;const int N = 100;int calculate(vector> &v) { int ans = 0, row_sum = 0, col_sum = 0, r_sum = 0, l_sum = 0; // 행, 열, 우하향, 좌하향 대각선 for (in..

[SWEA][C++] 2805. 농작물 수확하기

문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이중앙에 있는 행(마름모의 대각선)은 모든 열의 수익을 더한다.그리고 위로 갈수록 또는 아래로 갈수록 수익을 더하는 열이 줄어든다.이러한 점을 이용하여, 중앙 행(n/2 행)과의 차이에 따라 각 행의 수익을 계산할 수 있다.현재 행과 중앙 행의 차이 = 0일 때, 0 ~ n - 1 열의 수익을 얻을 수 있다.현재 행과 중앙 행의 차이 = 1일 때, 1 ~ n - 2현재 행과 중앙 행의 차이 = 2..

[SWEA][C++] 1208. [S/W 문제해결 기본] 1일차 - Flatten

문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이주어진 횟수만큼 최고점과 최저점의 차이를 줄여나간다. 정렬을 통해 문제를 해결할 수 있다.1. 상자의 높이를 오름차순으로 정렬2. 평탄화 반복    (1) 상자의 첫 번째 원소(최저점) +1, 마지막 원소(최고점) -1    (2) 상자를 재정렬    (3) 주어진 횟수를 모두 사용했거나, 최고점과 최저점의 차이가 1 이하가 되면 반복 종료3. 최고점과 최저점의 높이 차 반환코드#include#..

[SWEA][C++] 1206. [S/W 문제해결 기본] 1일차 - View

문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh& SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이건물은 왼쪽에서 3번째 칸부터 오른쪽에서 3번째 칸까지 존재한다.조망권이 확보된 세대는 왼쪽 2칸, 오른쪽 2칸에 다른 세대가 없어야 한다. 즉, 왼쪽 2칸, 오른쪽 2칸에 있는 건물보다 높으면 조망권이 확보된 세대가 존재한다. 이를 이용하여 다음과 같이 문제를 풀 수 있다.1. 왼쪽에서 3번째 건물부터 오른쪽에서 3번째 건물까지 탐색한다.    => i의 범위는 2 ~ n-3이다.2. 현재 ..