c++(12)
-
프로그래머스 등굣길 dp c++ 디버깅
코드 #include #include #define DIV using namespace std; int arr[101][101]; long long dp[101][101]; #define DIV 1000000007 int solution(int m, int n, vector puddles) { int answer = 0; // 물 표시 for (int i = 0;i < puddles.size();i++) { int x = puddles[i][0], y = puddles[i][1]; arr[y - 1][x - 1] = -1; dp[y - 1][x - 1] = 0; } if (arr[0][0] != -1) { dp[0][0] = 1; } for (int i = 1;i < n;i++) { if (arr[i][..
2023.10.26 -
프로그래머스 폰켓몬 c++ unordered_map 해시
간단한 구현 문제이라서 unordered_map을 사용했다. unordered_map은 해시 테이블을 기반으로 키-밸류 쌍을 저장한다. 검색 연산에 뛰어나며 평균적으로 O(1)의 시간 복잡도를 가지는 해시 테이블을 활용해 데이터를 저장한다. set은 중복되지 않는 정렬된 요소를 저장하며 레드 블랙 트리를 기반으로 한다. 중복이 허용되지 않으며 정렬된 상태가 유지된다. unordered_map은 속도가 빠르며 정렬되지 않는다 . #include #include #include #include using namespace std; int solution(vector nums) { int answer = 0; unordered_map m; for (int i = 0;i < nums.size();i++) { m..
2023.10.25 -
프로그래머스 카펫 C++
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카펫의 가로 길이를 x, 세로 길이를 y라고 하자. x * y = brown + yellow (x-2) * (y-2) = yellow x>=y 문제에서 보면 위의 세 조건을 만족시켜야만한다. 그래서 각각의 조건을 만족시키는 x, y값을 for문을 통해서 x 값을 하나씩 증가시키면서 확인해보면 된다. 정답 코드는 아래와 같다 #include #include using namespace..
2023.10.20 -
프로그래머스 피로도 C++
https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 dfs 문제이다. #include #include #include #include using namespace std; vector Dungeons; int visited[5001]; int Answer; void dfs(int total, int cnt){ if (cnt > Answer){ Answer=cnt; } for (int i=0;i= Dungeons[i][0] && visit..
2023.10.20 -
백준 이차원 배열과 연산 17140 C++
1. 문제 크기가 3×3인 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 1초가 지날때마다 배열에 연산이 적용된다. R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다. C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 > r >> c >> k; for (int i = 0;i > arr[i][j]; } } while (1) { if (arr[r-1][c-1] == k) { break; } if (total > 100){ break; } if (r_cnt >= c_cnt) { row_cal(); } else { col_cal(); } total++; } if..
2023.08.22 -
Softeer GBC C++
문제 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다. 지하 7층, 지상 105층, 높이 약 570m의 규모로 2026년 하반기에 완공을 목표로 현재 공사 중에 있다. 이러한 초고층 높이의 빌딩에는 초고층 승강기가 들어가야 한다. 엘리베이터 정비공인 광우는 0m 부터 100m까지 일정 구간들의 엘리베이터 속도를 검사하는 업무를 맡게 되었다. 빌딩에서 운영되는 엘리베이터 구간은 N개의 구간으로 나뉘며 해당 구간의 제한 속도이 주어진다. 구간의 총 합은 100m 이며 각 구간별 구간의 길이와 제한 속도 모두 양의 정수로 주어진다. 예를 들어보자. 구간이 3이라고 할 때, ▶ 첫 번째 구간의 길이는 50m 이고 제한 속도는 50m/s ▶ 두 번째 구간의 ..
2023.08.08