본문 바로가기

씨플플

(9)
[C++/PGS] Lv.3 : 최고의 집합 (벡터, 수학) https://school.programmers.co.kr/learn/courses/30/lessons/12938# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  프로그래머스 레벨 3.특별한 알고리즘은 필요하지 않고, 수학적 접근으로 해결하면 된다.s/n (평균)에 가장 가까운 값들의 리스트가 최대 곱을 가진다. 힌트) 예를 들면s = 10, n = 3일 때s/n = 3, s%n = 1이므로최대 곱을 가지는 리스트는 { 3, 3, 4 } 이다.  나의 풀이#include #include using namespace std;vector solution(int n, int s) { vector an..
[C++/PGS] Lv.3 : 숫자 게임 (그리디 Greedy) https://school.programmers.co.kr/learn/courses/30/lessons/12987# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  프로그래머스 레벨 3 문제그리디로 해결했다 중요 포인트 = 정렬 & 조건에 맞지 않는 요소 삭제   나의 풀이#include #include #include #include using namespace std;int solution(vector A, vector B) { int answer = 0; // 그리디? o 완탐? x sort(A.begin(), A.end(), greater()); sort(B.begin(),..
[C++/BOJ] 11660 : 구간 합 구하기 5 (DP) https://www.acmicpc.net/problem/11660  백준 실버1그냥 풀었다가 시간초과나길래 뭐지 싶었는데.. dp 문제였다 ㅜㅜindex 0부터 시작하면 이것저것 귀찮기 때문에 index 1부터 입력을 받으면 편하다  나의 풀이#include#includeusing namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; int m; int num; int dp[1025][1025] = {0,}; int x1; int x2; int y1; int y2; cin >> n >> m; for (int i = 1; i > num; dp[i][j] = dp[i - 1][j] + dp[i..
[C++/SWEA] 21425. += (D2) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AZD8K_UayDoDFAVs SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com sw expert academy난이도 D2문제a에 b를 더할때, 항상 더 큰 수를 더하면 된다. 최근에는 항상 프로그래머스만 풀어서 입력 코드 부분이 낯설어졌다다시 연습해야지!!  나의 풀이#include #include using namespace std;int answer = 0;void add(int a, int b, int n, int cnt){ if(a + b > n){ an..
[C++/PGS] Lv.3 : 섬 연결하기 (그리디 Greedy) https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 그리디 - 섬 연결하기 문제 원래는 각 트리의 최상단 부모값을 재귀적으로 찾는 게 정석 풀이인데,나는 복잡해서 그냥 인덱스 배열에 최소 부모값만 저장해놓고 반복문으로 갱신했다. 1. 최소 신장 트리를 만들기 위해, Greedy로 최솟값 간선부터 찾는 게 포인트!2. 각 트리의 최소 부모값을 비교해서, 같으면 한 트리 내부에 있는 것으로 보고, 다르다면 두 트리를 이어줌.  나의 풀이#include #include #include #..
[C++/Softeer] Lv3. 순서대로 방문하기 (HSAT 7회 정기 코딩 인증평가 기출) https://softeer.ai/practice/6246/history?questionType=ALGORITHM Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 현대 소프티어 Lv3. 순서대로 방문하기 C++ 풀이 문제 난이도는 적절해보이나, 조건 설명이 약간 아쉬웠던 문제.최단거리는 아니고 방문했던 칸을 다시 지나지만 않으면 되는듯전체 dfs 경우 중, 순차적으로 저장된 지점을 거치는 경우만을 count해서 해결했다.#include#include #include using namespace std;int grid[4][4]={0,};int visited[4][4]={0,};int n; int m;vector> store;int dx[4] = {0,1,0,-1};int dy[4]..
[C++/Softeer] Lv2. 회의실 예약 https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 현대 소프티어 Lv2. 회의실 예약 C++ 풀이 첫 제출에서 Subtask 2개가 오답으로 떴다. 제일 간단한 반례 탐색법인 블랙박스-경계값 분석으로 반례를 찾아보자!-> 아래 케이스에서, b는 17-18이 가능한데 not available이 출력됨2 2a ba 9 10b 9 17 가능한 시간대 pair를 구할 때, 반복문이 끝난 뒤에 isAble true 설정을 안해줘서 생겼던 오류.추가해줬더니 통과!!#include#include #include #include using namespace std;int main(int argc, char** argv){ int roo..
[C++/Softeer] Lv1. 위험한 효도 https://softeer.ai/practice/7368 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 현대 소프티어 Lv1. 위험한 효도 C++ 풀이 어쩌다 보니 효도 시리즈만 푸는중이다ㅋㅋ원래는 난이도가 Lv2였는데 Lv1로 내려온 듯.앞/뒤로 갈 때, 움직임/정지할 때의 경우만 잘 나누면 쉽게 성공할 수 있는 문제입니다!#includeusing namespace std;int main(int argc, char** argv){ int a; int b; int d; cin >> a >> b >> d; int now = 0; int time = 0; int cnt = 0; bool isCatch = false; while(1){ ..

728x90