백준

    [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를 탈출한다!! (정말 바보같다.) 질문 게시판에 나와..

    [C] 백준 2563번 : 색종이

    https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 어렵게 생각할 필요가 전혀 없는 문제인데 어렵게 생각해서 푸는데 시간이 꽤 오래 걸렸다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int paper[100][100] = { 0, }; int n, x, y, count = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d", &x, &y); ..

    [C] 백준 2292번 : 벌집

    https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int n, var = 1, count = 1; scanf("%d", &n); while(1) { if (n