본문 바로가기

브론즈14

1373번: 2진수 8진수 - 문제 사이트: https://www.acmicpc.net/problem/1373 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net 입력 받은 2진수를 8진수로 변환해주는 문제이다. 끝 문자부터 3자리씩 잘라서 8진수로 변환해주었다. 1) 끝에서 앞으로 세번째 index 확인: start → 해당 값이 마이너스일 경우, 0으로 변환 2) 1) 기준 세 문자로 자를 시, 마지막 index 확인 = start + 2 = end 3) start 부터 end 까지 문자열 잘라내기 4) 잘라낸 문자열을 8진수로 변환: binToOct(string str) 5) 변환된 8진수 값을 string으로 저장해준 뒤, 모든 변환 .. 2023. 9. 5.
2851번: 슈퍼 마리오 - 문제 사이트: https://www.acmicpc.net/problem/2851 2851번: 슈퍼 마리오 첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다. www.acmicpc.net 누적 합을 계산하고 푸는 문제이다. 10개의 값이 주어졌을 때, 1) 모든 수를 합하기 전에 100에 도달한 경우 2) 모든 수를 합하였으나, 100에 도달하지 못한 경우 이렇게 두 케이스로 나누어 결과를 계산해주어야 한다. #include #include using namespace std; int main() { int num[10]; for (int& n : num) cin >> n; int sum1 = 0; int sum2 = 0; .. 2023. 8. 31.
2609번: 최대공약수와 최소공배수 - 문제 사이트: https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 입력된 두 수의 최대공약수와 최소공배수를 구하는 문제이다. "1934번: 최소공배수" 문제의 풀이법으로 해결하였다. #include using namespace std; int getGCD(int A, int B) { return B ? getGCD(B, A % B) : A; } int main() { int A, B; cin >> A >> B; int gcd = getGCD(A, B); cout 2023. 6. 25.
1934번: 최소공배수 - 관련 사이트: https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 자연수 A와 B의 최소공배수를 구하는 문제이다. 최대공약수를 찾은 후 해당 값을 통해 최소공배수를 계산해주었다. 1) A 와 B 중 작은 수 확인 2) 작은 수부터 2까지 두 수로 모두 나누어지는 가장 큰 값 확인 = 최대공약수 3) (A * B) / 최대공약수 = 최소공배수 #include using namespace std; int getLCM(int A,.. 2023. 6. 12.