분류 전체보기
[프로그래머스 C++] 2개 이하로 다른 비트
[프로그래머스 C++] 2개 이하로 다른 비트
2023.11.03[프로그래머스 C++] 2개 이하로 다른 비트 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방안 비트 조작(Bit Manipulation) 비트 연산(Bit Operation) 이 문제는, 짝수일 경우에는 1을 더하고 홀수일 경우에는 이진수 표현에서 가장 낮은 자리의 '0'을 '1'로 바꾸는 연산을 수행. 비트 조작을 통해 숫자를 최소한으로 증가시켜 다음 큰 수를 구하는 문제다. 처음 시도한 코드 - 시간초과 #include #inclu..
2023.11.02 운동일지
2023.11.02 운동일지
2023.11.02기능성 운동 1시간
[프로그래머스 C++] 2 x n 타일링
[프로그래머스 C++] 2 x n 타일링
2023.11.02[프로그래머스 C++] 2 x n 타일링 https://school.programmers.co.kr/learn/courses/30/lessons/12900 해결방안 동적 계획법 Dynamic Programming (DP) 피보나치 Fibonacci 처음 시도한 코드 #include #include #include using namespace std; int solution(int n) { int answer = 0; vector dp(60001, 0); dp[1] = 1; dp[2] = 2; dp[3] = 3; for(int i=4; i
[프로그래머스 C++] 숫자 변환하기
[프로그래머스 C++] 숫자 변환하기
2023.11.01[프로그래머스 C++] 숫자 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방안 BFS DP 처음 시도한 코드 - DFS 시간초과 #include #include #include using namespace std; int answer=INT_MAX; int cnt; void DFS(int x, int y, int n, int cnt) { if(x == y){ answer = min(answer, cnt); return; } e..
2023.10.31 운동일지
2023.10.31 운동일지
2023.10.31조깅 5.25km
[백준 1806번 C/C++] 부분합
[백준 1806번 C/C++] 부분합
2023.10.31[백준 1806번 C/C++] 부분합 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N > n ..
2023.10.30 운동일지
2023.10.30 운동일지
2023.10.30조깅 5.17km
[백준 2470번 C/C++] 두 용액
[백준 2470번 C/C++] 두 용액
2023.10.30[백준 2470번 C/C++] 두 용액 https://www.acmicpc.net/problem/2470 해결방안 투 포인터 처음 시도한 코드 #include #include #include using namespace std; struct Solution { int first, second, ave; Solution(int a, int b, int c) { first = a; second = b; ave = c; } bool operator> n; v.resize(n); for(int i=0; i> v[i]; } sort(v.begin(), v.end()); int left = 0; int right = n - 1; while (left < right) { int sumSol = v[left] + v[..
[백준 3273번 C/C++] 두 수의 합
[백준 3273번 C/C++] 두 수의 합
2023.10.29[백준 3273번 C/C++] 두 수의 합 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 해결방안 투 포인터 알고리즘 코드 #include #include #include using namespace std; int n, x; vector a; int answer; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin..
2023.10.28 운동일지
2023.10.28 운동일지
2023.10.28푸쉬업 50, 리버스 풀업 40 + 조깅 5.46km
[백준 11054번 C/C++] 가장 긴 바이토닉 부분 수열
[백준 11054번 C/C++] 가장 긴 바이토닉 부분 수열
2023.10.28[백준 11054번 C/C++] 가장 긴 바이토닉 부분 수열 https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 해결전략 가장 긴 증가하는 부분 수열 종류의 문제 코드 #include #include using namespace std; int n; // 수열의 길이 vector v, dpF, dpB; // 입력 받을 수열, 앞에서부터의 가장 긴 증가하는 부분 수열, 뒤에서부터의 가장 긴 감소하는 부분 수열 int main(){ ios::sync_with_stdio(..
2023.10.27 운동일지
2023.10.27 운동일지
2023.10.27조깅 5.5km