목록전체 글 (43)
Dino Rudy

Z_1074 solved.ac 실버 1 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net 문제 해석 및 풀이 Z 문제는 2차원 배열이 주어졌을 때 Z탐색을 진행하고 탐색을 진행할 때 주어진 r 행과 c열을 몇 번째로 방문하느냐를 구하는 문제입니다. Z탐색을 구현하려고 하면 구현할 수 있겠지만 행과 열의 크기는 최대 2^15으로 32768입니다. 이렇게 되면 2차원 배열의 최대 크기는 32768*32768로 1073741824 약 10억을 ..

5주 차 정기 회의 오늘 정기 회의에서는 목표 달성 여부를 체크하고 목표를 재설정했습니다. 또한 스터디 방향에 대해서도 논의를 진행하였습니다. 현재 스터디는 매일 8시부터 시작하여 10분 정도 이야기를 하고 과제와 리뷰하고 싶은 문제를 정한 뒤 각자 풀고 10시 이후에 다시 한번 모여 코드 리뷰를 하는 방식으로 하고 있지만 알고리즘 커리큘럼이 지나고 웹 프로그래밍을 할 때는 알고리즘만 할 수 없음으로 하루에 난이도 별 두 문제 중 한 문제를 정하여 풀고 문제와 코드 리뷰를 진행하기로 방향을 정했습니다. 현재 스터디원들은 정말 열심히 해주고 있습니다. 매일 아침 9시부터 수업과 알고리즘 문제들을 풀면서도 밤 12시까지 하는 스터디원들을 보면 정말 멋있고 듬직합니다. 다들 알고리즘 공부를 열심히 해주는 것 ..

객체 배열 Arrays.sort()와 Comparator를 이용해 정렬 java.util.Arrays에서 제공하는 많은 메서드 중 정렬 메서드가 있습니다. 위 이미지에서 확인할 수 있듯이 Arrays에서 제공하는 sort()는 배열을 파라미터로 받습니다. 따라서 Collections에 포함되는 ArrayList나 LinkedList 타입은 Arrays.sort()의 파라미터가 되지 못합니다. Arrays.sort()에 배열이 입력값으로 들어가게 되는데 일반적인 primitive 타입을 원소로 갖는 배열은 원소끼리의 비교가 가능하게 되어있습니다. 하지만 사용자가 정의한 클래스로부터 객체 배열을 생성한 경우 무엇을 기준으로 비교를 할지 기준을 정해줘야 합니다. 어떤 기준으로 정렬을 할지를 Comparator..

백준 골드 티어 달성! 8월 15일 뜻깊은 날인 광복절에 문제를 풀고 solved.ac를 들어가 보니 골드 티어를 달성했습니다. 골드 티어를 달성한것은 스터디 목표였던 실버1티어를 넘은 초과 달성입니다~ 처음에 키우는 계정에 이어 2번째 골드 티어를 달성했지만 이번 계정은 애정을 가지고 더욱 열심히 해서 골드 1 티어를 넘어 플레티넘까지 가는게 목표입니다!!

연구소 14502번 solved.ac 골드 5 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 해석 및 풀이 이번 문제는 연구소에 있는 바이러스가 퍼지는 것을 최대한 방지하기 위해 3개의 벽을 추가로 세워 확보할 수 있는 최대의 안전구역의 수를 구해야 합니다. 이 문제는 딱 3개의 벽을 세워야 한다고 명시되어있습니다. 벽의 위치가 같다면 순서는 중요하지 않음으로 바이러스(2)와 벽(1)이 있는 곳을 제외한 곳 중 3곳을 뽑아 벽을 설치하고 BFS 탐색..

배열 돌리기 4 17406번 solved.ac 골드 4 티어 https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 문제 해석 및 풀이 배열 돌리기 4번 문제는 배열 돌리기 1번 문제와 유사한 방법으로 풀 수 있습니다. 하지만 배열 돌리기 4번 문제는 연산의 횟수가 주어지고 해당 연산들로 구할 수 있는 최소 배열 값을 찾아야 하는 문제입니다. 여기서 배열 값은 연산이 수행된 후 배열에서 각 행의 합들 중 최솟값입니다. 연..

배열 돌리기 3 16935번 solved.ac 실버 2 https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 문제 해석 및 풀이 배열 돌리기 3 문제는 크기가 N x M 2차원 배열에 6가지 연산을 구현해야 합니다. 1. 상하반전 2. 좌우반전 3. 오른쪽으로 90도 회전 4. 왼쪽으로 90도 회전 5. 4등분 후 시계방향으로 위치 조정 6. 4등분 후 반시계 방향으로 위치..

배열 돌리기 1 16926번 solved.ac 실버 3 티어 https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 문제 해석 크기 N x M의 2차원 배열이 주어졌을 때 모든 원소들을 반시계 방향으로 돌려야 합니다. 제가 풀이한 방법은 시계방향으로 돌리면서 앞에 있는 원소를 당겨 오는 방법입니다. 반시계 방향으로 돌리게 되면은 원소를 미는 방식으로 덮어쓰게..
조합 2차원 배열에서 R개의 원소를 뽑는 조합입니다. 기본적인 방법은 조합과 유사하지만 뽑고자하는 원소의 행과 열을 뽑는 방법으로 나누기와 모듈러 연산을 사용합니다. import java.util.Arrays; //2차원 배열에서 조합! public class Combination2 { static int [][] arr; static int [][]selected; static int N,M,R; static public void makeCombination(int cnt, int start) { if(cnt==R) { System.out.println(Arrays.deepToString(selected)); }else { for(int i=start;i