알고리즘 25

백준 2231 C++

https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 생각 1. 1부터 커지면서 분해합 비교 (최대 N까지 비교) 2. 하나하나 분해하는 방법을 어떻게 구현 할 것인가??? 2.1. N을 string으로 변환하여 하나씩 받아오기... 미친짓이다 2.2. 10으로 나눠서 자리수 나누기!!! 아는 거 쓰자! //i는 for문으로 1부터 커지도록 함 while(i != 0){ sum += i % 10; i /= 10; } 정답..

백준 2023.11.22

백준 7568 C++

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net #include #include #include using namespace std; int main(){ int N, num1, num2; cin >> N; int arr[N] = {0}; vector v; //입력 for(int i = 0 ; i> num1 >> num2; v.push_back(pair (num1, num2)); } for(int i = 0 ; i

백준 2023.11.22

백준 1018 C++

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 와 문제 이해를 못해서 하루종일 헤맨 문제... 그냥 어지간히 안풀린다 싶으면 문제 이해를 위해서라도 검색을 해보자 ㅎ 생각 1. 비교를 할 WB / BW 체스판을 미리 만들어 두고 비교를 하자 2. 여기서 키포인트는 한 번만 비교를 하는게 아니라 움직여가면서 비교를 하는 것! #include #include using namespace std; string WB[8] = { "WBWBWB..

백준 2023.11.18

백준 9093 C++

https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net #include #include using namespace std; stack s; int main() { int T; char input; cin >> T; for(int i=0 ; i> input; if (input == ' ' || input == '\n'){ while(!s.empty()){ cout cin.get() 을 쓴다! 2. 엔터를 무조건 출력하는 문제 -> cin.ign..

백준 2023.11.16
728x90