전체 글
-
[java] 백준 숨바꼭질3알고리즘 2023. 7. 5. 00:06
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net *2와 +1이 먼저 도달하기 때문에 앞순서에 와야한다! 도달했을 때 time이 작은 것을 가져온다. import java.io.*; import java.util.*; class point{ int n,s; point(int n,int s){ this.n=n; this.s=s; } } public class Main { static int k; static i..
-
[java] 백준 7562 : 나이트의 이동알고리즘 2023. 7. 2. 21:04
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net package main; import java.io.*; import java.util.*; class Point{ int x,y,cnt; Point(int x, int y, int cnt){ this.x = x; this.y =y; this.cnt = cnt; } } public class Main { static int[] dx = {1,2,2,1,-1,-2,-2,-1}; static int[]..
-
<문자열> 프로그래머스 신규 아이디 추천 java알고리즘 2023. 6. 18. 21:26
https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정규식을 이용해서! import java.util.*; class Solution { public String solution(String id) { //1-4 id = id.toLowerCase() .replaceAll("[^-_.a-z0-9]","") .replaceAll("[.]{2,}",".") .replaceAll("^[.]|[.]$",""); //5 if(id.equals("")){ i..
-
<문자열> 프로그래머스 문자열 내 마음대로 정렬하기 java알고리즘 2023. 6. 18. 16:52
https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 람다함수로 정렬하기 import java.util.*; class Solution { public String[] solution(String[] strings, int n) { String[] answer = {}; Arrays.sort(strings, (a1,a2)->{ if(a1.charAt(n)==a2.charAt(n)){ return a1.compareTo(a2);} else { retu..
-
[java] 백준 좌표정렬하기2알고리즘 2023. 6. 9. 14:56
package main; import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception{ StringBuffer sb = new StringBuffer(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int n = Integer.parseInt(br.readLine()); int[][] arr = new int[n][2]; for(int i=0; i { if(a1[1]==a2[1]) { return a1[0]-a2[0];} else {retu..
-
[java] 백준 4963 섬의 개수알고리즘 2023. 6. 9. 00:35
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static int arr[][]; static boolean visited[][]; static int dx[] = {0,0,-1,1,-1,1,-1,1}; static int dy[] = {-1,1,0,0,1,1,-1,-1}; static int w,h,nx,ny; public stati..
-
<이분탐색> 백준 2512 예산알고리즘 2023. 5. 30. 14:52
문제 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 풀이 이분탐색을 사용해서 풀이 출력값인 배정된 예산들 중 최댓값인 정수는 상한가(mid)가 된다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new Inpu..
-
<dp> 프로그래머스 멀리 뛰기알고리즘 2023. 5. 27. 15:54
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 class Solution { public long solution(int n) { long answer = 0; int[] D = new int[2001]; D[1]=1; D[2]=2; for(int i=3; i