본문 바로가기
sidebar toggle
Xenawn
Home
Tag
Guestbook
Subscribe
Xenawn
Algorithm
[프로그래머스] Lv2. 예상 대진표 - C++
Algorithm/Programmers
·
2026. 1. 6.
#include using namespace std;int solution(int n, int a, int b){ int answer = 0; while(a!=b){ a= (a+1)/2; b= (b+1)/2; answer++; } return answer;} 다음번호 = (지금번호 +1 )/2 로 하여 다음번호를 부여하였고.a==b가 될때까지 반복문을 돌려 몇 번째에 만나는지 카운팅 해주었다.
유클리드 호제법
Algorithm/Algorithm lec
·
2026. 1. 4.
유클리드 호제법이란?두개의 자연수의 최대공약수를 구하는 알고리즘이다. 알고리즘 방법으로는,a>b일 때a를 b로 나눈 나머지를 r이라고 할 때, a와b의 최대공약수는 b와 r의 최대공약수이다 .이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 보통 프로그래밍 언어에서의 유클리드 호제법 구현방법은 2가지가 있는데 첫 번째는 재귀적으로 나타내는 방법이다. int gcd(int a, int b){ if(b==0) return a; return gcd(b, a%b);} 두 번째는 반복문의 방법이다.int gcd(int a, int b){ int c; while(b){..
[BOJ] 1920. 수 찾기 - C++
Algorithm/BOJ [C++]
·
2026. 1. 2.
이 문제는 이분탐색으로 풀면 된다.#include using namespace std;int arr[100000];int main() { ios::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n; for (int i = 0; i > arr[i]; } sort(arr, arr + n); cin >> m; for (int i = 0; i > num; cout # 풀이법1. 배열에 입력을 받고2. 숫자를 입력받아 binary_search()함수를 이용하여 수를 찾았다. binary_search()는 이분 탐색으로 값을 찾는 bool 함수이다.찾으면 1을 반환하고 못 찾으면 0을 반환한다.매개변수는 찾는 배열의 시작, 배열 끝, 마지막으로 찾는 값을 넘겨주면 된다.v..
[BOJ] 2847. 게임을 만든 동준이 - C++
Algorithm/BOJ [C++]
·
2026. 1. 1.
https://www.acmicpc.net/problem/2847 이 문제는 그리디 유형이다 #include using namespace std;int arr[101];int main() { int n; cin >> n; for (int i = 0; i > arr[i]; } int mx = arr[n-1]; int cnt = 0; for (int i = n - 2; i >= 0; i--) { while (mx 마지막 레벨이 제일 점수가 높아야하니까 마지막 순서 부터 반복문을 돌려 앞의 값보다 1 작을 때 까지 Counting한다.
[BOJ] 1932. 정수 삼각형 - C++
Algorithm/BOJ [C++]
·
2025. 8. 21.
#include using namespace std;int arr[502][502];int d[502][502];int main() { int n; cin >> n; for (int i = 0; i > arr[i][j]; } } d[0][0] = arr[0][0]; for (int i = 1; i # TIPdp관점으로 생각할 것자꾸 앞선 수에서 생각을 못하고 그 전 수에 관점을 두는 방식을 버려야함..
[BOJ] 1003. 피보나치 함수 - C++
Algorithm/BOJ [C++]
·
2025. 8. 21.
https://www.acmicpc.net/problem/1003 #include using namespace std;int z[42]; // 0 횟수int o[42]; // 1 횟수int main() { int t; cin >> t; for (int i = 0; i > num; z[0] = 1; o[0] = 0; z[1] = 0; o[1] = 1; if (num == 0 || num == 1) { cout #Tipdp의 중요성은 문제를 dp인지 파악하는 것도 중요하지만점화식을 잘 세우는 것도 중요하다.나는 풀다가 메모지에 적어놓고 규칙들을 발견했는데 바로 j-1 j-2의 횟수를 합치게 j의 0과 1의 횟수였다.이 문제는 dp 문제집에 놓고 dp를 인지하고 푼 문제지만 막상 실전에서는 내..
[BOJ] 2941. 크로아티아 알파벳 - C++
Algorithm/BOJ [C++]
·
2025. 8. 9.
#include using namespace std;int main() { vector v = { "c=","c-","dz=","d-","lj","nj","s=","sz","z="}; string str; int idx; cin >> str; for (int i = 0; i
[BOJ] 15651. N과 M (3) - C++
Algorithm/BOJ [C++]
·
2025. 8. 2.
#include using namespace std;int n, m;int arr[10];bool isUsed[10];void func(int k) { if (k == m) { for (int i = 0; i > n >> m; func(0);}
[BOJ] 5648. 역원소 정렬 - C++
Algorithm/BOJ [C++]
·
2025. 7. 27.
#include using namespace std;int main() { int n; vector v; cin >> n; for (int i = 0; i > num; long long size = num.length(); while(size--){ sv += num[size]; } long long digitNumber = stoll(sv); v.push_back(digitNumber); } sort(v.begin(), v.end()); for (int i = 0; i # Tip입력하는 수가 10¹² 이상은 안된다고 나와있다.즉, 수가 최대 21억인 int로는 수를 담을 수 없다는 것. 그 이상인 long long을 써야한다.나는 string의 길이를 담아 뒤 부터 새로운 string에..
[BOJ] 10989. 수 정렬하기 3 - C++
Algorithm/BOJ [C++]
·
2025. 7. 26.
https://www.acmicpc.net/problem/10989 #include using namespace std;int arr[10001];int main() { int n; cin >> n; for (int i = 0; i > num; arr[num]++; } for (int i = 0; i # Tip이 정렬은 보통 STL sort나 O(N^2) 풀이를 할 때N의 개수가 10,000,000여서 배열 선언을 하면 메모리가 너무 커서 메모리 초과가 일어난다.이 수의 최대 자연수는 10000이니 이걸 이용해서 Counting Sort로 정렬을 하면 된다.
Table
Of
Contents
열기
목차
목차 닫기
표시할 목차가 없습니다.
안녕하세요
감사해요
잘있어요
PREV
[
1
]
[
2
]
[
3
]
NEXT
device theme
light theme
dark theme
상단으로
티스토리툴바
Xenawn
구독하기