직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽으로 접습니다. 종이를 모두 접은 후에는 종이를 전부 펼칩니다. 종이를 펼칠 때는 종이를 접은 방법의 역순으로 펼쳐서 처음 놓여있던 때와 같은 상태가 되도록 합니다. 위와 같이 두 번 접은 후 종이를 펼치면 종이에 접은 흔적이 생기게 됩니다. ∨ 모양이 생긴 부분은 점선(0)으로, ∧ 모양이 생긴 부분은 실선(1)으로 표시했습니다. 종이를 접은 횟수 n이 매개변수로 주어질 때, 종이를 절반씩 n번 접은 후 모두 펼쳤을 때 생기는 접힌 부분의 모양을 배열에 담아 return 하도록 solution 함수를 완성해주세요..
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 순서대로 주어진다. 위치는 1보다 크거나 같고, N보다 작거나 같은 자연수이다. www.acmicpc.net 처음에는 디큐로 구현을 시도했다. Deque dq = new ArrayDeque(); 타깃 넘버가 큐의 맨 앞으로 올 때까지 연산을 반복하며 연산 횟수를 구했다. 그리고 총 연산 횟수에는 가까운 쪽으로 이동시킨 경우의 연산 횟수를 더해 주었고, 타깃 넘버를 큐에서 제거하며 하나씩 처리했다. int result = ..
그동안 코딩테스트를 볼 기회가 몇 번 있었는데, 번번이 어려움을 겪었다. 그래서 다시 기초부터 연습을 하기 위해 코드업 기초 100제를 풀어보았다. 입출력, 데이터형, 출력변환, 산술연산, 비트시프트연산, 비교연산, 논리연산, 비트단위논리연산, 삼항연산, 선택실행구조, 반복실행구조, 배열에 관련된 문제들이 100여 개 가까이 있다. 기초 문제들이기 때문에 난이도는 어렵지 않았고, 프로그래밍 기초를 알고 있는지 확인하는 문제들이었다. 기초 100제 완료! 다음은 백준, 그리드 알고리즘으로! https://codeup.kr/problemsetsol.php?psid=23