본문 바로가기

C C++166

[C/C++] swea 1209. [S/W 문제해결 기본] 2일차 - Sum 문제풀이 문제는 크게 각 수의 합을 구하고 비교하는 데에 있음. 첫 번째, 비교할 때 for문을 사용한다. 각 행의 합을 구하는 것, 각 열의 합을 구하는 것, 대각선의 합을 구하는 것. 이렇게 3가지의 합을 구해야 함. 두 번째, 각각의 최댓값을 비교하여 마지막 최댓값을 비교해야 함. 첫 번째의 for문 사용은, 아래와 같이 행에 들어가는 변수와 열에 들어가는 변수를 바꿔서 처리하면 각각 행 기준으로, 그리고 열 기준으로 더할 수 있음. 따라서 아래와 같이 사용해야 함. for (int i=0; i 2022. 9. 24.
[C/C++] swea 2805. 농작물 수확하기 문제풀이 문제는 크게 두 가지를 잘 생각해 보면 좋음. 기본적으로 for문으로 해야된다는 건 알고 있을 것임. 그러면 어떻게 농작물 모양으로 수확을 해 나가냐가 문제임. 아래 스탬프 1,2,3을 차례로 살펴보자. 1) 1번의 경우 정가운데 열에서 시작함. 이는 nxn 맵에서 n/2를 사용하면 정중앙이 나옴. (e.g. 5/2 = 2번 인덱스) 2) 2번의 경우 개수가 1개에서 3개로 늘어남. 이 때는 for문의 조건을 변경해야 된다는 생각을 해야함. 예를 들어 for (int j=0; j 2022. 9. 21.
[C/C++] 백준 1547번 공 문제 풀이 시뮬레이션 문제로, int a와 int b가 있다면 이를 스위칭을 하도록 하는 알고리즘을 사용해야 한다. (컵 바꾸기)기본적이고 중요한 내용이니 참고하면 도움이 될 듯. 소스코드 #include #include #define MAX 10 using namespace std; int n; int arr[4]={0,1,}; int main() { cin>>n; int x,y,tmp; for (int i=0; i>x>>y; tmp=arr[x]; arr[x]=arr[y]; arr[y]=tmp; } for (int i=1; i 2022. 9. 17.
[C/C++] 백준 7568번 덩치 문제 풀이 구조체 연습삼아 적당한 문제를 하나 골랐다. 구조체를 사용해서 키와 몸무게 두 개의 정보를 저장하고, 그리고 순위를 매겼다. 이 때 정렬밖에 떠오르지 않다가 브루트포스 알고리즘을 이용해서 모두 탐색하였다. 소스코드 #include #include #define MAX 55 using namespace std; int n; int arr[MAX]; struct size { int x; int y; }; int main() { cin>>n; struct cvsize S[MAX]; for (int i=0; iS[i].x>>S[i].y; } for (int i=0; i 2022. 9. 17.