본문 바로가기

수학29

11943번: 파일 옮기기 - 문제 사이트: https://www.acmicpc.net/problem/11943 11943번: 파일 옮기기 첫 번째 줄에는 첫 번째 바구니에 있는 사과와 오렌지의 수 A, B가 주어진다. (0 ≤ A, B ≤ 1,000) 두 번째 줄에는 두 번째 바구니에 있는 사과와 오렌지의 수 C, D가 주어진다. (0 ≤ C, D ≤ 1,000) www.acmicpc.net 두 바구니에 각각 한 종류씩의 과일만 담기도록 옮긴다고 했을 때, 가장 적게 옮기는 횟수를 구하는 문제이다. 1) 첫 번째 바구니에 사과, 두 번째 바구니에 오렌지를 둘 경우 → 첫번째 바구니의 오렌지 개수 + 두번째 바구니의 사과 개수 2) 첫 번째 바구니에 오렌지, 두 번째 바구니에 사과를 둘 경우 → 첫번째 바구니의 사과 개수 + 두번.. 2023. 9. 14.
1550번: 16진수 - 문제 사이트: https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 입력 받은 16진수를 10진수로 변환해주는 문제이다. 끝 문자부터 10진수로 변환 후 더하여 계산하였다. 1) 끝에서부터 한 문자씩 확인 2) 문자를 숫자로 변환: hex[i] - '0' 3) 확인하는 문자 (hex[i]) 가 숫자가 아닌 경우, 변환된 숫자에서 7을 더 빼줌 ('A' - '0' = 17 → 'A' - '0' - 7 = 10) 4) 현재 자리수 (16^digit) 값을 곱하여.. 2023. 9. 13.
5543번: 상근날드 - 문제 사이트: https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가격 www.acmicpc.net 3종류의 햄버거와 2종류의 음료가 주어졌을 때, 각각 가장 싼 햄버거와 가장 싼 음료를 선택하여 세트를 만드는 문제이다. 1) 햄버거와 음료의 초기값은 가장 큰 값인 2000원으로 설정 2) 햄버거 3종류 값을 받고 가장 작은 값을 선택 3) 음료 2종류 값을 받고 가장 작은 값을 선택 4) 세트 계산: 햄버거 + 음료 - 50 #include using namespace std; i.. 2023. 9. 7.
2559번: 수열 - 문제 사이트: https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net "11659번: 구간 합 구하기 4"의 확장된 문제이다. 이전 문제가 i 부터 j까지 구간합의 값을 구하는 문제였다면, 이번에는 구간 너비가 주어진 문제이다. 0번부터 i번까지의 누적값을 구한 배열을 이용하여 풀어주도록 한다. 1) max 값은 나올 수 있는 가장 작은 값으로 설정: max = (가장 작은 수) * (구간 너비) = -100 * K 2) 구간합을 구하.. 2023. 9. 6.
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.