알고리즘
-
프로그래머스 게임 맵 최단거리알고리즘 2023. 8. 5. 18:16
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 짠 코드 class Solution { static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static int[][] arr; static boolean[][] visited; static int min= Integer.MAX_VALUE; static int row; static int col; static int solution(int[..
-
[java] 백준 16935 : 배열 돌리기 3알고리즘 2023. 7. 30. 18:32
https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; p..
-
[java] 백준 16926 : 배열 돌리기 1알고리즘 2023. 7. 27. 12:52
https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int[][] arr; static int min,n,..
-
[java] 프로그래머스 예상 대진표알고리즘 2023. 7. 11. 20:27
https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(int n, int a, int b) { int answer = 0; while(true){ a= (a/2)+(a%2); b= (b/2)+(b%2); answer++; if(a==b){ break; } } return answer; } } class Solution { public int solution(int n, int a, i..
-
[java] 프로그래머스 키패드 누르기알고리즘 2023. 7. 6. 21:58
https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public String solution(int[] numbers, String hand) { String answer = ""; int[][] loc = new int[][]{ {4,2}, {1,1}, {1,2}, {1,3}, {2,1}, {2,2}, {2,3}, {3,1}, {3,2}, {3,3}, {4,1}, {4,3} }; int[] left = loc[10]..
-
[java] 프로그래머스 큰 수 만들기알고리즘 2023. 7. 6. 13:39
https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr StringBuilder를 사용해서 시간을 줄이자! max idx 이후 중에 max값을 뽑아내야 한다. class Solution { public String solution(String number, int k) { String answer = ""; StringBuilder sb = new StringBuilder(); int idx=0; for(int i=0; i
-
[java] 프로그래머스 더 맵게알고리즘 2023. 7. 5. 15:08
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr priorityqueue를 이용하면 된다. q.peek()을 하면 가장 작은 수가 나오기 때문에 가장 작은 수가 k되기 전까지 계속 while문을 돌린다. q.peek()이 k이하이고 q의 사이즈가 1개이하라면 -1를 출력한다. import java.util.*; class Solution { public int solution(int[] scoville, int K) { int answer = ..
-
[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..