스터디/Algorithm 7

[백준] 절댓값 힙 11286 java - Priority Queue

https://www.acmicpc.net/problem/11286 priority queue를 이용해서 조건에 따라 우선순위를 부여하는 방식으로구현했다  내 풀이import java.io.*;import java.util.*;public class Main { static int K, N; static int[] A; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //StringTokenizer st = new StringTokenizer(br.readLine()); ..

스터디/Algorithm 2024.05.18

[백준] 불 4179 java - bfs

https://www.acmicpc.net/problem/4179 [첫번째 틀린 답안]불과 지훈이가 동시에 움직이는 것이 이 문제의 포인트라고 할 수 있다.동시간대에 불과 지훈이를 하나씩 움직여줘야 되는데이를 어떻게 처리해야할지가 어려웠다..처음에는 아래처럼 로직을 짰는데생각해보니 아래 코드는 불의 위치가 지훈이보다 앞서있을 때에만 유효한 코드이다.. import java.io.*;import java.util.*;public class Main { static int R,C; static char[][] map; static boolean[][] visited; static int[] dx = {1,-1,0,0}; static int[] dy = {0,0,1,-1}; s..

스터디/Algorithm 2024.05.03

[프로그래머스스쿨] 가장 큰 수 java (lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이  import java.util.*;class Solution {public String solution(int[] numbers) {String answer = "";String[] arr = new String[numbers.length]; for(int i=0;i (o2+o1).compareTo(o1+o2)); for(int i=0;i}    Arrays.sort커스텀하..

스터디/Algorithm 2024.05.03

[백준] 겹치는 건 싫어 java - two pointer

https://www.acmicpc.net/problem/20922출력조건을 만족하는 최장 연속 부분 수열의 길이를 출력한다.예제 입력 1 복사9 23 2 5 5 6 4 4 5 7예제 출력 1 복사7예제 입력 2 복사10 11 2 3 4 5 6 6 7 8 9예제 출력 2 복사6  내 풀이hashMap과 투 포인터로 풀었다hashMap에 배열 값을 0으로 초기화 해준 후K초과 일 때에 start_index를 증가시키는 방향으로 로직을 짰다  import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new ..

스터디/Algorithm 2024.05.02

[백준] 배열 합치기 java - two pointer

문제정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.입력첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.출력첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.예제 입력 1 복사2 23 52 9예제 출력 1 복사2 3 5 9예제 입력 2 복사2 14 71예제 출력 2 복사1 4 7예제 입력 3 복사4 32 3 5 91 4 7예제 출력 3 복사1 2 3 4 5 7 9  내 답안1. 투 포인터 활용import java.io.*;import java.util.*;p..

스터디/Algorithm 2024.04.29

[백준] 폴리오미노 java - greedy

민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다. 출력 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. 예제 입력 1 복사 XXXXXX 예제 출력 1 복사 AAAABB 예제 입력 2 복사 XX.XX 예제 출력 2 복사 BB.BB 예제 입력 3 복사 XXXX....XXX.....XX 예제 출력 3 복사 -1 예제 입력 4 복사 X 예제 출력 4 ..

스터디/Algorithm 2024.04.17

[프로그래머스] 완주하지 못한 선수 java (lv. 1)

문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 ["leo", "kiki", "eden"] ["eden", "kiki"] "leo..

스터디/Algorithm 2024.04.11