본문 바로가기

분류 전체보기

(103)
[백준] BOJ2608 - 로마 숫자 (JAVA) https://www.acmicpc.net/problem/2608 2608번: 로마 숫자 첫째 줄과 둘째 줄에 하나씩 로마 숫자로 표현된 수가 주어진다. 입력된 각 수는 2000 보다 작거나 같고, 두 수의 합은 4000보다 작다. www.acmicpc.net import java.util.*; import java.io.*; public class Solution { static HashMap hash; static int getNum(String[] num){ int sum = 0; for(int i=0;i
[백준] BOJ2992 - 크면서 작은 수 (JAVA) https://www.acmicpc.net/problem/2992 2992번: 크면서 작은 수 정수 X가 주어졌을 때, X와 구성이 같으면서 X보다 큰 수 중 가장 작은 수를 출력한다. 수의 구성이 같다는 말은, 수를 이루고 있는 각 자리수가 같다는 뜻이다. 예를 들어, 123과 321은 수의 구성이 www.acmicpc.net 입력 숫자를 String형으로 받은 뒤 문자단위로 쪼개서 배열에 저장하고 순열로 만들 수 있는 숫자를 만들어서 입력 수보다 크면 우선순위큐에 입력하도록 하였다. 마지막에 queue.poll()을 하면 입력 수보다 큰 수중에 가장 작은 수를 구할 수 있다. queue가 비었다면 답은 0이 되게 하였다.
[백준] BOJ1806 - 부분합 (JAVA) https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N =S){ ans = Math.min(end-start..
[백준] BOJ2075 - N번째 큰 수 (JAVA) https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; PriorityQueue que..
슬라이딩 윈도우 / 투 포인터 (JAVA) 부분 배열을 활용하여 선형 공간(1차원 배열)을 2회 이상 반복적으로 탐색해야 할 경우의 O(N^2) 이상의 시간 복잡도를 O(N)으로 줄일 수 있다. 윈도우가 이동하면서 윈도우 내의 데이터를 이용하여 문제를 해결하는 알고리즘. 슬라이딩 윈도우 : 부분 배열의 길이가 고정적 배열이 고정적이기 때문에 포인터가 하나만 있어도 된다. 기존 구간에서 빠지게 되는 가장 왼쪽칸의 값을 삭제하고 새 구간에 포함되는 값을 추가해주면 된다. 우선순위 큐를 활용하기도 한다. 적용 문제 : https://tech-heng.tistory.com/93 투포인터 : 부분 배열의 길이가 가변적 모든 배열의 값들을 필연적으로 탐색하여 특정 조건을 일치시키는 개수 혹은 최소,최대 값 찾는 문제에서 연속되고 가변적인 부분 배열을 활용 ..
[SWEA] SWEA 2105 - 디저트 카페 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5VwAr6APYDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com import java.util.*; import java.io.*; public class Solution { static int T, N; static int[][] map; static int sX, sY; static int ans; static boolean[][] visited; static int[] dx = {1,1,-1,-1}; static int[] dy = {-1,1,1,-1}; ..
[SWEA] SWEA 5644 - 무선 충전 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com import java.util.*; import java.io.*; public class Solution { static class Point{ int x; int y; Point(int x, int y){ this.x = x; this.y = y; } } static int[][] map; static int[] dx = {0,0,1,0,-1}; static int[] dy = {0,-1,0,1..
[SWEA] SWEA5658 - 보물상자 비밀번호 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com import java.util.*; import java.io.*; public class Solution { static int T; static int N,K; static ArrayList numList; static TreeSet treeSet = new TreeSet(); static void run(){ int side = N/4; //한 변에 들어가는 문자 수 int rotate = s..