일곱 난쟁이

    [C++]백준 10804번: 카드 역배치

    https://www.acmicpc.net/problem/10804 10804번: 카드 역배치 1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. www.acmicpc.net 폐구간 내의 원소들을 reverse하는 간단한 문제이다. reverse method 대신 reverse 해야하는 범위가 n일 때 반복문의 범위를 n/2로 잡고 swap하여도 된다.(사실 이것이 reverse의 원리) 내 정답코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int arr[21]; for (int i = 1; i < 2..

    [C++]백준 10093번: 숫자

    https://www.acmicpc.net/problem/10093 10093번: 숫자 두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 : subtask라는 재밌는 장치가 존재하였다. c/c++이라면 10^15로 범위 제한인 것을 보자마자 long long 자료형을 사용해야한다는 것을 생각해내야한다. (int는 약 21억까지의 수를 다루니 그보다 10^15는 그 보다 훨씬 큰 수이다) +long long 조차 감당이 안될 큰 수라면 string으로 다뤄야한다. (Python을 쓰자..) 위 사실만 알면 쉽게 풀리는 문제이다. 내 정답코드 #include using namespace std; int main() { ios::s..

    [C++]백준 2309번: 일곱 난쟁이

    https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 풀이 : 문제를 딱 보고 경우의 수가 생각났다. 조합으로 생각하면 9개의 data에서 7개의 요소를 선택하는 경우니 최악의 경우 9C2를 만족한다고 생각했다. 7개의 합으로 판단하는 것 보다 전체의 합에서 100을 만족시키게끔 배열의 요소를 빼는 풀이를 생각했다. 다만, break문을 잘못 써서 오답이 발생하였다.. break 문은 가장 가까운 loop를 탈출한다!! (정말 바보같다.) 질문 게시판에 나와..