일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java
- 파이썬
- 자바
- 백준
- Codeup
- 개념
- 공공데이터
- 기본
- programmers
- BOJ
- SELECT 절
- 코딩테스트
- 기초
- 이론
- HAVING 절
- 단계별로 풀어보기
- 기초100제
- JAVA 11
- 응용
- Java11
- Codeforces Round #802 (Div. 2)
- Python
- SQLD / SQLP
- baekjoon
- pypy3
- Python 3
- level1
- 헤드퍼스트 디자인패턴
- GROUP BY 절
- 명품 자바 프로그래밍
- Today
- Total
목록자바 (50)
Development Project
문제 링크 : https://www.acmicpc.net/problem/17219 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 소요 시간 : 12분 문제를 읽고 이해하기 제한 시간 : 5초 메모리 : 256MB 문제 저장된 전체 주소 N개(1≤N≤100,000), 궁금한 주소 M(1≤M≤100,000) 주소와 비번쌍이 N개 주어질 때, M개의 주소에 대한 비번을 출력하는문제 이해 너무 간단한 문제라 이해에 시간을 크게 쏟지 않았음 문제를 익숙한 용어로 재정의와 추상화 문제 이해..
문제 링크 : https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 소요 시간 : 1시간 - 그리디와, 자바의 정렬방법이 익숙치 않아 생각보다 시간을 썼던 문제이다. 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 128MB 문제 회의의 수 N개(1≤N≤100,000), N개의 시작시간과 종료시간(0≤N≤2^31-1) 회의가 같은 시간에 진행 될 수 없을 때, 최대 몇개의 회의를 진행할 수 있는지 출력하는 문제 이해 문제를 보자마자 그리디의 전형이라 생각했고, 어떻게 그리디를 구현해야할지 고민해보았다. 문제를 익숙한 용어로 재정의와 추상화 문제 이해에 어려움은 ..
문제 링크 : https://www.acmicpc.net/problem/1103 1103번: 게임 줄에 보드의 세로 크기 N과 가로 크기 M이 주어진다. 이 값은 모두 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 보드의 상태가 주어진다. 쓰여 있는 숫자는 1부터 9까지의 자연수 또는 www.acmicpc.net 소요 시간 : 2시간 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 512MB 문제 N x M의 지도(1≤N,M≤50)에 숫자나 구멍(H)가 기록되어 있다. 지도의 왼쪽 상단으로부터 출발하여 해당 포지션에 기록된 숫자만큼 상/하/좌/우로 이동이 가능한데, 맵밖으로 빠져나가거나 구멍에 도착하지 않는 한 무한히 이동이 가능하다. 이때, 최대로 이동할 수 있는 횟수를 구하는 문제이다..
문제 링크 : https://www.acmicpc.net/problem/6087 6087번: 레이저 통신 크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 www.acmicpc.net 소요 시간 : 2시간 반 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 W x H의 지도(1≤W,H≤100) 지도에 출발점 및 도착점(C), 벽(*), 빈방(.)이 있을때 C를 연결하기위한 최소 거울의 수를 출력하는 문제 거울은 /과 \모양이 있으며, 90도씩 방향을 회전 시킬 수 있다. 이해 문제이해는 어렵지 않았고, 완탐을 통해 전체 탐색하거나, 규..
문제 링크 : https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 소요시간 : 자바 파이썬 둘다 코딩하는 시간 포함 15분정도. 행복한 문제~ 이번 문제는 솔브닥 클래스를 올리고싶어서 풀게된 문제로, 최소힙을 구현할 수 있는지에 관한 문제이다! 우선 힙을 어떻게 구현해야하는지 살펴보자! 자바의 경우 PriorityQueue를 이용해 최소힙과 최대힙 둘다 구현 가능하다 만약 사용자 정의 Class를 큐로 쓰고싶다면, Compara..
문제 링크 : https://www.acmicpc.net/problem/20365 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 소요 시간 : 40분 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 1024MB 문제 문제의 수(0≤N≤500,000), 문제를 칠하는 색상은 각각 B아니면 R 한 문제 이름을 덧칠해도 마지막 칠한색만 보여질때, 최소로 문제를 칠할 수 있는 횟수를 출력 이해 문제에서 B와 R중 많은색을 먼저 배경에 칠해두고, 적게 칠해진 색을 칠하는 방식으로 짜야한다고 생각했다. 문제를 익숙..
문제 링크 : https://www.acmicpc.net/problem/3980 3980번: 선발 명단 각각의 테스트 케이스에 대해서, 모든 포지션의 선수를 채웠을 때, 능력치의 합의 최댓값을 한 줄에 하나씩 출력한다. 항상 하나 이상의 올바른 라인업을 만들 수 있다. www.acmicpc.net 소요 시간 : 50분 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 11명의 선수가 11개의 포지션에 배치될때, 모두의 능력을 잘 발휘하여 모든 선수의 총 능력치 합의 최대를 출력하는 문제 이해 문제가 간단해서 이해가 어렵진 않았다. 문제를 익숙한 용어로 재정의와 추상화 이해가 어렵지 않아서 생략했다. 문제를 어떻게 해결할 것인가 백트래킹을 사용해야 할것같아서 조건을 따지기 위해 그려보았다..
문제 링크 : https://www.acmicpc.net/problem/20061 20061번: 모노미노도미노 2 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net 소요 시간 : 3시간.. 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 블록을 놓을 횟수(1≤N≤10,000), t개의 블럭 종류(1≤t≤3) 좌표 x(0≤x≤3), y(0≤y≤3) 빨간색 영역 안에서 3가지 종류의 블럭중 하나를 놓으면, 각각 초록색, 파란색 영역으로 떨어진다. 빨간영역에 블럭을 놔둔 좌표를 기준으로 초록영역은 같은 열에 맞게 떨어지..
문제 링크 : https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 소요 시간 : 1시간 반 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 256MB 문제 N개의 집(2≤N≤100,000), M개의 길 수(1≤M≤1,000,000), 길 유지비(1≤C≤1,000) 두개의 마을로 분할할때, 나머지 길의 유지비의 최솟값을 출력하는 문제 이해 N개의 집(노드), M개의 길 수(간선), C의 유지비(가중치)이므로,..
문제 링크 : https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 소요 시간 : 10분 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 128MB 문제 서로다른 N개의 자연수의 합이 S(1≤S≤4,294,967,295) S를 알때 N의 최댓값을 구하는 문제 이해 서로 다른 N개의 자연수로 최댓값을 구하는 것이므로, 가장 작은 자연수부터 더했을때 S보다 커지는 값을 찾고 그때 -1을 하면 답이된다! 그 외의 처리나, 다른 절차는 필요없는 문제.. 계획 수행 (실제코드 작성) - 평소였다면 5단계에 위치했을테지만 너무 간단해서 바로 코드로 썼다. Java 11 im..
문제 링크 : https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 소요 시간 : 최적화 시간까지 합치면 4시간.. 어후 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 1024MB 문제 NxM의 지도(2≤N,M≤20), 이동횟수 K(1≤K≤1,000) 주사위를 (1,1)부터 K번만큼 [문제에서 주어진 조건에 따라 방향을 정하고, 해당방향으로 한칸 이동하여(해당 방향으로 주사위가 넘어지게 함) 주사위를 이동한 뒤, 해당 지점으로..
문제 링크 : https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 1024MB 문제 NxN의 격자(3≤N≤20), 학생의 번호 ni(1≤ni≤N*N) 각 학생마다 좋아하는(인접하길 바라는) 학생이 4명씩 있다. 자리를 배치할때, 1. 좋아하는 학생이 많이 인접하도록 2. 좋아하는 학생이 같은수로 인접한 곳이 여러개라면, 인접한 칸중 빈곳이 많도록 3. 빈곳도 마찬가..
문제 링크 : https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 입력값 N(0≤N≤1,000,000) 이해 모든 자릿수가 기준으로 앞의 수보다 뒤의 수가 다 작다면 감소하는 수라고 정의한다. 이때 N번째 감소하는 수를 구하라는 문제이다. 문제 이해는 어렵지 않아보이지만, 감소하는 수가 제한이 생길수 밖에 없다는 것 정도는 분석해야할듯싶다. 한자..
문제 링크 : https://www.acmicpc.net/problem/2310 2310번: 어드벤처 게임 입력은 여러 개의 미로로 주어진다. 각 미로의 첫 줄에는 미로의 방 수를 나타내는 정수 n(1 ≤ n ≤ 1000)이 주어진다. 다음 n 줄에는 각 방의 정보가 주어진다. 각 방의 정보는 방의 내용물을 나타 www.acmicpc.net 소요 시간 : 40분 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 방의 개수 N개(1≤N≤1,000), 방별 비용(0≤N≤500), 방의 유형은 빈방, 레프리콘방, 트롤방임 1번방에서 N번방으로 갈 수 있는지 여부를 출력하는 문제이고, 방의 경우에 따라 갈수있는지 불가능한지 정해진다 빈방은 변화가 없고, 레프리콘방은 일정금액 이하일경우 돈을 일..
문제 링크 : https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 소요 시간 : 4시간.....ㅎㅎㅎㅎㅎㅎ 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 128MB 문제 노드의 개수 N개(1≤N≤10,000), 간선의 개수 N-1개 트리의 끝부분(리프노드)를 잡고 쫙 폈을때 가장 긴 길이를 구하는 문제 이해 문제 이해는 어렵지 않았는데, 문제에서 예시로 준 그림이 왜 45가 되는지 분석하지않고 문제에 바로 접근해서 많이 삽..
문제 링크 : https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 소요 시간 : 1시간 30분 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 512MB 문제 NxN 면적의 땅(1≤N≤50), 땅은 1x1개의 칸으로 나뉘어짐 각 땅(1x1)에는 나라가 하나씩 존재하고 A[r][c]명이 살고있음 인구이동이 불가할때까지 밑의 일들이 반복해서 일어남 국경선을 공유하는 두 나라의 인구차이가 L이상 R이하인 모든곳의 국경선을 하루간 연다 ..
문제 링크 : https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 128MB 문제 N개의 막대기둥(1≤N≤1,000), 기둥의 왼쪽면의 위치(1≤L≤1,000), 기둥 높이(1≤H≤1,000) 지붕이 기둥을 전부 감싸면서, 중간에 오목하게 들어간 부분없이 딱 맞게 설계할때 창고의 면적을 구하는 문제 이해 문제가 자세하게 설명되어 있어 크게 이해가 어렵진 않았다..
문제 링크 : https://www.acmicpc.net/problem/2610 2610번: 회의준비 첫째 중에 회의에 참석하는 사람의 수 N이 주어진다. 참석자들은 1부터 N까지의 자연수로 표현되며 회의에 참석하는 인원은 100 이하이다. 둘째 줄에는 서로 알고 있는 관계의 수 M이 주어진다. 이 www.acmicpc.net 소요 시간 : 2시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 회의에 참석하는 사람의 수(1≤N≤100), 서로 알고있는 관계의 수 M (관계이니까 최대 N-1개임) 서로 알고있는 사람은 같은위원회에 속해야하고, 위원회의 수는 최대가 되어야함 위원회마다 대표가 한명씩 있는데 각 위원회 회원들이 대표에게 의견전달이 가장 효율적으로 될수있도록 대표를 선정하는..
문제 링크 : https://www.acmicpc.net/problem/16724 16724번: 피리 부는 사나이 첫 번째 줄에 지도의 행의 수를 나타내는 N(1 ≤ N ≤ 1,000)과 지도의 열의 수를 나타내는 M(1 ≤ M ≤ 1,000)이 주어진다. 두 번째 줄부터 N개의 줄에 지도의 정보를 나타내는 길이가 M인 문자열이 주 www.acmicpc.net 소요 시간 : 3시간 (Union-Find 문제가 오랜만이라 구현에 시간을 많이 쏟았다..ㅜ 어려워어려워) 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 256MB 문제 지도의 행(1≤N≤1,000), 지도의 열(1≤M≤1,000) 영과일(?) 회원들이 지도의 각 방향에 따라 이동할때 모두가 SAFE ZONE에 들어갈 수 있게하는 SAFE Z..
문제 링크 : https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 테스트 케이스 수 T개(T>0), 건물개수 N(2 BFS의 절차는 크게 아래와 같이 6가지로 볼 수 있다 위 각 수행문에 대해 어떤일이 있을 때 분기처리를 해줘야하는지 분석해보겠다. 큐에서 꺼내옴 목적지인가 - 위 문제에서는 필요없다 연결된 곳을 순회 해당 건물번호에 연결된 건물들은 인접리..