백준 5

[백준] 불 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