본문 바로가기

알고리즘

(53)
[PGS] 프로그래머스 - 여행경로 (JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static int[] visited; static PriorityQueue pq; public void dfs(String cityName, String[][] tickets, String path, int node){ if(node==tickets.length){ //다 돌았다 pq.add(path); return; } for(..
[프로그래머스] PGS - 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; import java.io.*; class Solution { static class Point{ int x; int y; Point(int x, int y){ this.x = x; this.y = y; } } static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static int[][] visited; s..
[백준] BOJ20920 - 영단어 암기는 괴로워 (JAVA) https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net import java.util.*; import java.io.*; public class Solution { static HashMap words; public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new ..
[PGS] 프로그래머스 - 아이템줍기 (JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; import java.io.*; class Solution { static boolean[][] map; static Queue queue; static boolean[][] visited; static int ans; static int sX, sY, iX, iY; static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,..
[백준] 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..