본문 바로가기

전체 글

백준 - 17281 야구(Java) https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 구현 문제입니다. 규칙은 일반 야구와 동일합니다. 순열을 사용하여 9명의 타자 순서를 만들어 점수를 계산하는 완전탐색으로 하면 됩니다. 단, 각 이닝의 첫 번째 입력이 4번 타자가 되야하기 때문에 첫 번째 입력을 4번으로 고정한 뒤, 순열에서 4번 타자의 위치가 바뀌지 않도록 하면 됩니다. private static void swap(int[] inning, int depth, int i) { if (.. 더보기
백준 - 17135 캐슬 디펜스(Java) 구현 문제입니다. 문제의 예제 입력 3번을 그림으로 표현하면 다음과 같습니다. 그림과 같이 성은 M개 만큼 존재하며, 해당 성 중에서 세 곳에만 궁수가 존재합니다. 즉, M개 중에서 세 곳에만 존재하기 때문에 조합을 사용하여 궁수의 위치를 결정할 수 있습니다. 조합으로 궁수의 위치를 결정하고, 게임을 진행하여 적을 제거 해 나아가는 완전탐색으로 접근하면 됩니다. // 조합 private static void archerLocation(int r, int depth, boolean[] archers) { ... } 적군에게 화살을 쏠 때 두 가지 방법이 필요합니다. 궁수 시선의 이동 궁수가 쏠 수 있는 범위 1. 궁수 시선의 이동 적군들은 시간이 지날 때 마다 아래로 움직입니다. 이런 방식으로 하려면, 배.. 더보기
백준 - 16236 아기 상어(Java) 구현 문제입니다. 문제 접근 순서는 다음과 같습니다. 현재 위치에서 최소 경로로 갈 수 있는 곳을 확인하면서 먹을 수 있는 물고기를 가져옴 먹을 물고기가 없다면 엄마 상어 호출 먹을 수 있는 물고기중 가장 좌측 상단의 물고기를 가져와서 정보를 갱신함 1번 부터 반복 현재 위치에서 다른 위치로가는 최소 경로는 다익스트라를 사용하시면 됩니다. [구현 코드] import java.io.*; import java.util.*; public class Main { private static final int[] dx = {-1, 0, 1, 0}; // 상, 좌, 하, 우 private static final int[] dy = {0, -1, 0, 1}; private static final int MAX = 98.. 더보기
백준 - 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.. 더보기