Algorithm 170

[백준 알고리즘/C++] 1912 연속합

n개의 정수로 이루어진 임의의 수열이 주어졌을 때, 이 중 연속된 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하는 문제 {10, -4, 3, 1, 5, 6, -35, 12, 21, -1}를 입력받으면 12+21=33이 정답이 된다 모든 연속합들을 dp배열에 저장한 뒤 가장 큰 값을 출력하면 된다 연속합보다 입력값[i]가 더 크다면 입력값[i]를 dp배열에 넣어주면 됨 1234567891011121314151617181920212223242526272829303132#include #include using namespace std; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); int n, arr[100001]; cin >> n; for..

Algorithm/BOJ 2021.02.08

[프로그래머스/C++] 체육복

여분의 체육복이 있는 학생들이 체육복을 잃어버린 학생들에게 빌려주는데.. 번호 앞, 뒷사람만 서로 빌려줄 수 있다고 한다 몇 명의 학생이 체육복을 입을 수 있는지 return하는 문제 여분이 있는 학생들이 체육복을 도난당하면 빌려줄 수 없기 때문에 그것까지 체크해야 했다 벡터를 하나 만들어서 거기에 디폴트 값으로 1을 주고, 잃어버린 애들은 -1 여분이 있는 애들은 +1을 해준다 그리고 그 벡터를 첨부터 탐색하면서.. 서로 사이좋게 나눠주면 된다 1234567891011121314151617181920212223242526272829#include #include using namespace std; int solution(int n, vector lost, vector reserve) { int ans..

[프로그래머스/C++] 모의고사

늘 같은 패턴으로 찍는 수포자1, 2, 3 중에 제일 점수가 높은 놈을 return하는 문제 수포자별로 배열을 하나씩 만들어서 찍는 패턴 그대로 배열에 넣어준다 그리고 나머지(%) 연산으로 정답과 비교해줬다 1234567891011121314151617181920212223242526272829#include #include #include #include using namespace std; vector solution(vector answers) { vector answer; int arr1[5] = { 1,2,3,4,5 }; int arr2[8] = { 2,1,2,3,2,4,2,5 }; int arr3[10] = { 3,3,1,1,2,2,4,4,5,5 }; int cnt1 = 0, cnt2 = 0,..

[백준 알고리즘/C++/그리디] 1080 행렬

0과 1로만 이루어진 행렬 A, B가 주어졌을 때, 행렬을 변환하는 연산(3*3 크기의 부분 행렬에 있는 모든 원소를 뒤집는 것)을 통해 A를 B로 만드는 문제 A와 B를 입력받고 두 행렬의 원소가 다른 곳을 체크해준다 (아래 코드의 check) 원소가 다르다 = 뒤집어야 한다 = check의 true로 표시 그러므로 true인 곳들을 모두 false로 뒤집어주어야 두 배열이 일치한 게 된다 이제 그냥 true면 3*3 영역의 원소를 뒤집어주면 되는데, 속도를 위해서 중간중간 무조건 -1이 되는 경우를 확인해야 한다 i행의 가장 끝 두 열을 확인하면 되는데.. 거긴 앞으로 바뀔 일이 없으니 그곳이 true라면 break 해버리자 그리고 꼭 n이나 m이 3 미만일 경우도 생각해줘야 한다 그림 없이는 설명이..

Algorithm/BOJ 2021.02.07

[백준 알고리즘/C++/그리디] 2847 게임을 만든 동준이

동준이는 레벨을 클리어하면서 점수를 얻을 수 있는 게임을 만들었다 어려울수록 점수가 높아져야 하는데 뒤죽박죽 이라고 한다 이 문제를 해결하기 위해 특정 레벨의 점수를 떨어뜨리려고 한다 각 레벨의 점수를 입력받았을 때 몇번 떨어뜨려야 하는지 구하는 문제 (한번에 1점씩 떨굼) 특정 레벨의 점수를 떨어뜨린다고 했으니 가장 높은 레벨의 점수를 기준으로 나머지를 떨어뜨리면 된다 i-1레벨은 i레벨보다 점수가 높으면 안된다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, arr[101];..

Algorithm/BOJ 2021.02.07