반응형

전체 글 429

[c++] 백준 알고리즘 1100번 하얀칸

문제 코드#include #include using namespace std;//하얀색 0 검은색 1 int main() { int arr1[8] = { 0, 1, 0, 1, 0, 1, 0, 1 }; int arr2[8] = { 1, 0, 1, 0, 1, 0, 1, 0 }; string n; int count = 0; for (int k = 0; k > n; for (int i = 0; i  문제풀이이중 for문을 써주고 if문으로 처리를 해주었습니다.체스판에서 0을 하얀색으로 1을 검정색으로 해서 배열을 만들어줬으며 총 세로기준으로 홀수일 때 arr1, 짝수일 때 arr2가 나오도록 해주었습니다. 코드는 읽어보면 풀 수 있을 정도의 난이도입니다. 물론 이 풀이말고 다르게 풀이를 해도 되는데요. cha..

카테고리 없음 2024.05.24

[c++] 백준 2563번 색종이

문제코드#include using namespace std;int main(){ int arr[101][101] = { 0, }; // 101x101 크기의 2차원 배열을 0으로 초기화하여 선언 int a, b; int num; cin >> num; // 사각형의 수를 입력받음 int answer = 0; // num개의 사각형을 입력받아 그리기 for (int k = 0; k > a >> b; // 사각형의 시작 좌표 (a, b)를 입력받음 for (int i = a; i  해설처음에는 어떻게 푸는지 조금 시간이 걸렸습니다. 겹치는 부분을 전체 영역에서 빼서 구해야 하나? 생각을 하다가 도저히 모르겠어서 다른 정답 풀이의 푸는 방법을 조금 보고서 ..

[C++] 백준 10798 세로읽기

문제   코드#include using namespace std;char a[5][16];int main(){ for (int i = 0; i > a[i]; } for (int i = 0; i  해설* 배열에서 유효한 문자만 출력할 것 여기에서 다른 부분은 읽어보면서 대충 어떤 느낌으로 풀어야할지 감이 잡힐 것입니다. 여기서 놓치기 쉬운 부분은 바로 if(a[k][i] != '\0') 이 부분인데요. 유효한 데이터가 아닐 때 출력하지 안ㅇㅎ기 위해 '\0'을 해주어야 합니다. 이 조거니 없다면 쓰레기 값이 출력이 될 수 있습니다.  만약 예제가ABCDE123XYZHELLOWORLD이렇게 주어진다면 이것을 세로로 해서 출력을 하라는 문제입니다. 저희가 이것을 각각 char a[0], a[1], a[2]. ..

[c++] 백준 2566번 최댓값

문제코드#include using namespace std;int main(){ int arr[10][10]; for (int i = 1; i > arr[i][j]; } } int max = -1; int arr1 = 0; int arr2 = 0; for (int i = 1; i max) { max = arr[i][j]; arr1 = i; arr2 = j; } } } cout 해설9 x 9 이차원 배열을 입력 받고 가장 큰 수와 위치를 출력하면 된다.저 같은 경우 배열을 만들어서 최댓값을 찾아주었습니다. 인덱스인 0, 0과 달리 1,1부터 시작 유의 * 여기서 제일 놓치기 쉬운 부분은 모든 수가 0이 나올 때 max를 0으로 두면 자리의 값이 구해지지 않으므로 max를..

카테고리 없음 2024.05.22

[c++] 백준 2738번 : 행렬 덧셈

문제  문제코드#include #include #include using namespace std;int arr[101][101], arr2[101][101];int main(){ int N, M; cin >> N >> M; for (int i = 0; i > arr[i][k]; } } for (int i = 0; i > arr2[i][k]; } } for (int i = 0; i  문제설명이중 for문을 통해 2차원 배열의 연산이 가능해집니다. int arr[101][101], arr2[101][101];두 개의 행렬 arr과 arr2를 선언합니다. 최대 크기는 101 x 101이 됩니다. for (int i = 0; i > arr[i][k]; }}첫 번째 행렬 arr의 원소를 이중 for문을..

[C++] 25206번 너의 평점은

문제전공 학점: 학점 * 과목 평점전공 학점 평균: 전공 학점 / 총 학점P 과목은 제외 따라서 전공 학점들을 계산하여 모두 더한 후 총 학점으로 나눠주면 문제를 해결하면 된다.정답코드#include #include #include using namespace std;int main(){ float count = 0; float sum = 0; string grade[9] = { "A+", "A0", "B+", "B0", "C+", "C0", "D+", "D0", "F" }; for(int i =0; i> x >> y >> z; if (z == "P") { continue; } count += y; if (z == "F") { continue; } float num = 5.0; ..

동적 메모리와 스마트 포인터

동적메모리 C++에서 NEW와 DELETE를 이용하여 동적 메모리를 관리합니다. 동적 메모리를 실수 없이 관리하는 것은 생각보다 까다롭습니다. 용도가 다한 동적 객체를 반환하지 않으면 쓰레기(garbage)가 생성되어 메모리 누수(memory leak)가 발생하고, 객체를 가리키는 포인터가 존재하는데 객체를 삭제하면 유효하지 않은 주소를 가지는 포인터가 생길 수 있습니다.  스마트 포인터 c++은 동적 메모리를 쉽고 안전하게 사용할 수 있도록 3종류의 스마트 포인터를 제공합니다. shared_ptr은 다수의 포인터가 하나의 객체를 가리키는 것을 허용합니다.unique_ptr은 가리키는 객체를 온전히 소유한다.weak_ptr은 shared_ptr이 가리키는 객체에 대한 weak reference를 제공한다..

[c++]백준 1076번 저항

문제 링크 : https://www.acmicpc.net/problem/1076코드#include #include #include using namespace std;int main(){ string color[10] = { "black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white" }; string n; int mem[3]; long long r = 0; for (int i = 0; i > n; for (int j = 0; j 문제풀이해당 식은 간단하게 문제를 따라서 풀면 나옵니다.* 결과값이 int 범위를 넘어가기 때문에 r을 long long으로 뒀습니다.* pow함수를 써야하기 때문에 #includ..

[C++] 백준 1094번 : 막대기

#include #include #include #define N 8using namespace std;int main(){ int x = 0; cin >> x; string binary = bitset(x).to_string(); int count = 0; for (int i = 0; i 문제 문제코드#include #include #include #define N 8using namespace std;int main(){ int x = 0; cin >> x; string binary = bitset(x).to_string(); int count = 0; for (int i = 0; i  문제풀이해당 문제는 Bitset을 알아야 풀 수 있는 문제입니다. 먼저 처음에 64cm를 가지고 있고 이후 계속 절..

반응형