본문 바로가기

전체 글

백준 - 14500 테트로미노(Java) 구현 문제입니다. 원본, 대칭, 회전을 한 테트로미노 모양에 따라 변화되는 좌표를 전부 입력한 뒤, 계산을 하는 방법으로 구현했습니다. [구현 코드] import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { private static final int TETROMINO_COUNT = 5; private static final int ROTATION_COUNT = 8; // 정방향을 제외한 최대 회전 및 대칭 개수 private static class Point { int x, y; Point(int x, int y) { this.x = x; t.. 더보기
백준 - 21808 상어 초등학교(Java) 구현 문제입니다. n*n 의 교실에 학생들을 특정 방식으로 채울 때의 만족도를 구하는 문제입니다. 특정 방식은 세 가지 절차가 주어집니다. 비어있는 칸 중에서 좋아하는 학생이 인접한 칸에 가장 많은 칸으로 자리를 정한다. 1을 만족하는 칸이 여러 개이면, 인접한 칸 중에서 비어있는 칸이 가장 많은 칸으로 자리를 정한다. 2를 만족하는 칸도 여러 개인 경우에는 행의 번호가 가장 작은 칸으로, 그러한 칸도 여러 개이면 열의 번호가 가장 작은 칸으로 자리를 정한다. 인접의 조건은 |r1 - r2| + |c1 - c2| = 1 이기 때문에, 상하좌우를 확인하면 됩니다. 문제의 입력 첫 번째 줄에는 n이 주어집니다. 그리고, 두 번째 줄부터 n*n 만큼의 좋아하는 친구(연결 관계)가 주어집니다. 첫 번째 "비어있.. 더보기
2. 쿠버네티스 환경 구축과 예제 애플리케이션 배포 - 3 2.3 데이터베이스 설정 데이터베이스를 생성하고 DDL 적용 등 애플리케이션에서 사용하기 위한 설정을 수행한다. 수행할 작업은 다음과 같다. 데이터베이스와 배스천 호스트(Bastion Host) 구축 세션 관리자를 이용한 배스천 호스트 접속 배스천 호스트상에 필요한 도구 설치 배스천 호스트상에 깃 리포지토리 클론 데이터베이스 접속과 DDL 및 예제 데이터 블러오기 2.3.1 데이터베이스 환경 설정 예제 애플리케이션에서는 Amazon RDS로 PostgreSQL을 구축하여 사용한다. Amazon RDS에는 데이터베이스가 설치된 OS에 로그인할 수 없는 등 데이터베이스 환경 관련 제약 사항이 존재한다. 그래서 데이터베이스 관리용 서버로 배스천 호스트를 구축하여 사용한다. 배스천 호스트는 EC2로 구축한다. .. 더보기
MYSQL 문자열 함수 정리 1. 문자열 변환 함수프로그래머스 “이름에 el이 들어가는 동물 찾기” 문제를 사용하여 정리했습니다.함수 설명CONCAT(X1, X2, …)문장열을 이이서 반환CONCAT_WS(구분자, X1, X2, ..)문자열을 구분자와 함께 이어서 반환INSERT(기존 문자열, 위치, 길이, 바꿀 문자열)기존 문자열에서 위치부터 길이 까지의 문자를 삭제한 뒤 바꿀 문자열을 삽입 후 반환UCASE(X1), UPPER(X1)소문자 → 대문자LCASE(X1), LOWER(X1)대문자 → 소문자LPAD/RPAD(기존 문자열, 길이, 채울 문자열)기존 문자열 왼쪽/오른쪽을 길이만큼 채울 문자열로 더해서 반환LTRIM/RTRIM(X1)왼쪽/ 오른쪽의 공백 제거(중간 공백은 제거 불가)REPLACE(기존 문자열, 대상, 바꿀 문.. 더보기
백준 - 6603 로또(Java) dfs 문제입니다. dfs를 사용하여 주어진 집합 S에서 순열을 만들고 앞에서 부터 6자리를 선택하되, 해당 자리가 모두 오름차순일 경우에만 정답에 추가하면 됩니다. [구현 코드] import java.io.*; import java.util.StringTokenizer; public class Main { private static final int LENGTH = 6; private static StringBuilder answer = new StringBuilder(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.i.. 더보기
프로그래머스 - 쿼드압축 후 개수 세기(Java) dfs 문제입니다. 문제의 핵심은 재귀를 돌면서, 크기가 1일때 까지 4등분을 하는 것입니다. 단, 4등분을 하기 전에 해당 크기의 정사각형 내부가 같은 수로만 이뤄졌다면 4등분을 하지 않습니다. 4등분 할 때, 아래의 그림을 참고하시면 됩니다. [구현 코드] import java.util.*; class Solution { final int[] dx = {-1, 1, 0, 0}; final int[] dy = {0, 0, -1, 1}; public int[] solution(int[][] arr) { int[] answer = {}; int n = arr.length; dfs(arr, 0, 0, n, n); // 개수 세기 int zero = 0; int one = 0; for(int i=0; i 더보기
2. 쿠버네티스 환경 구축과 예제 애플리케이션 배포 - 2 EKS를 이용하여 AWS에 쿠버네티스 클러스터를 구축하고 예제 애플리케이션을 배포하여 동작을 확인한다. 2.2.1 기본 리소스 구축 2.2.1.1 사용할 도구 설치 로컬 환경에 다음의 도구를 설치해야 한다. AWS CLI eksctl kubectl git 설치를 완료하고 다음 그림과 같이 도구의 버전을 확인한다. 2.2.1.2 소스 코드 다운로드 예제에 필요한 모든 자원은 깃을 통해 다운로드 받을 수 있다. git clone 2.2.1.3 기본 리소스 생성 방법 CloudFormation을 이용해 VPC 등의 기본 리소스를 생성한다. 우선 AWS 관리 콘솔 검색에서 CloudFormation을 검색한다. 그리고, 아래 사진 처럼 리전을 서울로 설정하고 스택 생성을 누른다. 아래 사진처럼 준비된 템플릿 →.. 더보기
프로그래머스 - 모음사전(Java) dfs 문제입니다. A, E, I, O, U 만을 사용하여 5자리 이내의 문자를 만들고, 정렬하여 주어지는 문자가 몇 번째인지 반환해야 합니다. 첫 번째 단어는 "A"이고, 두 번째 단어는 "AA"이며, 마지막 단어는 "UUUUU"입니다. 이 순서는 dfs(깊이 우선 탐색)을 통해 만들어지는 문자와 순서가 같습니다. 즉, dfs를 사용하여 문자를 만들고 만들어진 순서를 반환하면 됩니다. [구현 코드] import java.util.*; class Solution { final char[] WORDS = {'A', 'E', 'I', 'O', 'U'}; final int MAX_LENGTH = 5; public int solution(String word) { int answer = 0; List eleme.. 더보기