전체 글

전체 글

    [BJ] 백준 2635 수 이어가기 (JAVA)

    [BJ] 백준 2635 수 이어가기 (JAVA)

    문제 https://www.acmicpc.net/problem/2635 풀이 방법 첫 번째 수를 입력으로 받고 두번째 수를 선택한 뒤 세번째 부터는 앞에 두 개의 숫자를 빼면서 하나씩 새로운 수를 만들어가는 문제이다. 1. N 부터 1 까지 하나씩 두번째 수로 선택 한다. 2. 음수가 나올때까지 while문에서 세번째 수 부터 하나씩 만들면서 list에 추가한다. 3. 하나의 list가 만들어질 때마다 최대 크기를 비교해서 업데이트하고, 업데이트가 되는 경우엔 배열도 같이 복사해준다. 3. 마지막엔 최종적으로 max에 담겨있는 개수와 list를 출력해줬다. 제출 코드 import java.io.*; import java.util.*; public class BJ_2635_수이어가기 { public sta..

    [Github] ReadMe 리드미 꾸미기 (및 매우 소소한 팁들)

    [Github] ReadMe 리드미 꾸미기 (및 매우 소소한 팁들)

    그동안 하고 싶었던 깃허브 리드미를 드디어 간단하게 꾸며봤다. 나도 여러개의 블로그를 보면서 꾸민거라서 수정할 때 언제든지 볼 수 있도록 정리하려고 한다. 우선 리드미를 꾸미기 전에 가장 먼저 해야하는게 있다. 레포지토리 만들기 내 깃허브에 들어갔을 때 나의 readme가 보이기 위해서는 레포지토리를 생성하고 그 안에 리드미 파일에서 작업을 해줘야한다. 1. new 클릭 이제 본인의 깃허브 아이디와 동일하게 입력한다. 주황색 박스에 있는 것이 내 깃허브 아이디이므로 빨간 박스에도 동일하게 입력해준다. 나는 이미 만들어져있기 때문에 존재한다고 뜨고 있다. 그러면 이제 밑에 파란 박스에 고양이가 ✨special✨ repository 라고 소개해준다! 또한 밑에 두 개를 모두 체크 해주고 밑에 초록색 박스의 ..

    [BJ] 백준 2304 창고 다각형 (JAVA)

    [BJ] 백준 2304 창고 다각형 (JAVA)

    문제 https://www.acmicpc.net/problem/230 풀이 방법 여러개의 기둥들이 있고, 그 위에 지붕을 만드는 문제이다. 문제의 포인트는 오목한 부분이 없어야하는 것이다. 그래서 나는 가장 높은 기둥을 찾고, 그 전과 후를 따로 계산했다. 우선 기둥들의 정보를 저장하고 정렬할 때 필요한 compareTo 함수를 재정의 해줬다. 기둥들의 순서가 순차적으로 들어오지 않기 때문에 정렬을 사용했다. 가장 높은 기둥을 기준으로 앞부분에서는 현재 기둥보다 더 높은 기둥이 올 때만 값을 더해주고 뒷부분은 끝에서부터 오면서 더 높은 기둥이 올 때만 값을 더해주는 식으로 구현했다. 제출 코드 import java.io.*; import java.util.*; public class BJ_2304_창고다..

    [BJ] 백준 15683 감시 (JAVA)

    [BJ] 백준 15683 감시 (JAVA)

    문제 https://www.acmicpc.net/problem/15683 풀이 방법 cctv의 종류에 따라서 탐색해야하는 방향이 다른 문제이다. cctv가 탐색할 수 있는 공간을 다 탐색 후 cctv가 탐색하지 못한 사각지대를 찾아내면 된다. 복잡하긴 하지만 정리해서 구현만 한다면 그렇게 어렵지는 않은 문제다. 1. 클래스를 하나 만들어서 cctv의 종류에 따라서 탐색해야하는 인덱스를 미리 저장해놨다. 2. cctv의 종류에 따라서 방향이 다르기도 하지만 탐색 횟수도 다르다는걸 주의해야한다. ex) 1번은 90씩 회전해서 4번 탐색이 가능하지만, 2번은 2번만 탐색한다. 3. 탐색을 하면 나는 #으로 배열을 변경해줬고, 나중에 사각지대를 계산할 때는 0인 것들을 찾아서 카운팅 한 후 출력해줬다. 제출 코..

    [BJ] 백준 1244 스위치 켜고 끄기 (JAVA)

    [BJ] 백준 1244 스위치 켜고 끄기 (JAVA)

    문제 https://www.acmicpc.net/problem/1244 풀이 방법 스위치의 상태를 바꿔주는 문제이다. 여학생인지 남학생인지 판단 후에 남학생이라면 해당 번호의 배수에 해당하는 인덱스를 가진 스위치를 토글해주고, 여학생이라면 해당 번호의 스위치를 우선 변경 후 , -1 +1를 위치에 있는 스위치가 같은지 여부를 판단 후, 같다면 토글해주고 같지 않다면 토글하지 않는 식으로 구현했다. 제출 코드 import java.io.*; import java.util.*; public class BJ_1244_스위치켜고끄기 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(..

    [BJ] 백준 10026 적록색약 (JAVA)

    [BJ] 백준 10026 적록색약 (JAVA)

    문제 https://www.acmicpc.net/problem/10026 풀이 방법 나는 DFS를 사용해서 풀었다. 아직 탐색을 안한 곳을 만나면 범위 카운트 변수에 1를 더해주고 DFS를 시작했다. 적록색약이 아닌 사람은 R, G ,B 모두 구별해서 탐색을 해줬고, 적록색약이라면 ch가 R or G일 때는 R or G 이면 탐색을 하도록 구현하였다. 제출 코드 import java.io.*; public class BJ_10026_적록색약 { static int[][] move= {{-1,0},{1,0},{0,-1},{0,1}}; static char[][] map ; static boolean[][] visitedN; static boolean[][] visitedG; static int N; pub..

    [BJ] 백준 2669 직사각형 네 개의 합집합의 면적구하기 (JAVA)

    [BJ] 백준 2669 직사각형 네 개의 합집합의 면적구하기 (JAVA)

    문제 https://www.acmicpc.net/problem/2669 풀이 방법 나는 단순하게 생각했다. 직사각형 좌표를 입력받고, arr을 돌면서 직사각형 범위안에 있다면 arr의 값을 1로 변경해줬다. 모든 사각형을 돌고나서, 마지막에 arr에 1의 개수를 세어서 출력해줬다. 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BJ_2669_직사각형네개의합집합의면적구하기 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(ne..

    [BJ] 백준 1759 암호만들기 (JAVA)

    [BJ] 백준 1759 암호만들기 (JAVA)

    문제 https://www.acmicpc.net/problem/1759 풀이 방법 골드 문제 치고는 간단한 듯 싶었다. 더 효율적인 방법이 있겠지만 나는 제일 먼저 떠오르는 방법으로 구현했다. 1. 주어진 문자들 중에서 L개를 뽑는 조합을 먼저 구하고 2. 완성된 조합을 가능성이 있는지 판단하는 순서로 구현했다. 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.util.Arrays; import java.util.StringTokenizer; public class BJ_1759_암호만들기 { public..

    [BJ] 백준 1260 DFS와 BFS (JAVA)

    [BJ] 백준 1260 DFS와 BFS (JAVA)

    문제 https://www.acmicpc.net/problem/1260 풀이 방법 각 인접 정보를 저장한 후, DFS, BFS로 출력해주면 되는 간단한 문제이다. DFS는 재귀호출로 BFS는 큐를 사용했다. 제출 코드 public class BJ_1260_DFS와BFS { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Inte..

    [BJ] 백준 2477 참외밭 (JAVA)

    [BJ] 백준 2477 참외밭 (JAVA)

    문제 https://www.acmicpc.net/problem/2477 풀이 방법 처음에 살짝 헤맸던 문제였다. 그냥 단순히 예제만 보고 가로 중에 최대최소, 세로중에 최대최소 구하면 되는 줄 알았는데 아니였음;; 문제 제대로 읽자.... 우선 나는 가장 큰 사각형에서 내부에 있는 작은 사각형을 빼주는 식으로 구현하려고 했다. 어디에서 시작하든 규칙은 방향이 A - B - C - D - C - D 순으로 나온다. 시작만 다르지 순서는 거의 동일함. (A, B가 긴변이고, D, C가 내부의 작은 사각형의 가로세로) 그래서 생각한게 우선 가로 중에서 가장 큰 값, 세로 중 가장 큰 값을 찾은 후에 해당 인덱스에 +3을 해주는 것이였다. 제출 코드 public class BJ_2477_참외밭 { public ..

    [JAVA] 문자열 클래스

    [JAVA] 문자열 클래스

    목표 1. JAVA의 3가지 문자열 클래스에 대해 설명할 수 있다. 2. 각 문자열 클래스의 차이점에 대해 설명할 수 있다. 3. 상황에 맞게 문자열 클래스를 사용할 수 있다. String / StringBuffer / StringBuilder String StringBuffer StringBuilder 저장 공간 힙 또는 Constant String Pool 힙 힙 변경유무 불변 가변 가변 Thead Safe O O X 더보기 Constant String Pool 이란? 자바에서 스트링을 생성하는 방법에는 두 가지가 있다. String literal로 생성하는 것과 new String으로 생성하는것. String literal로 생성하면 String 값은 힙 영역 내에 있는 "String Constan..

    [BJ] 10157 자리배정 (JAVA)

    [BJ] 10157 자리배정 (JAVA)

    문제 https://www.acmicpc.net/problem/10157 풀이 방법 1. 기저 조건: 찾고자 하는 대기 번호를 찾으면 출력 후 리턴 2. 좌석 배정하기 3. 다음 좌석위치로 업데이트 후 범위와 좌석 배치가 되어있는지 확인하기 4. 배치 가능하면 재귀 호출 5. 배치 불가능하면 방향 + 1 한 뒤 다시 위치 업데이트 후 재귀 호출 식으로 구현했다. 제출 코드 package day_0219; import java.util.Scanner; public class BJ_10157_자리배정 { public static int[][] move = {{1,0},{0,1},{-1,0},{0,-1}}; public static boolean[][] isSeated; public static int C, ..

    [BJ] 13305 주유소

    [BJ] 13305 주유소

    문제 https://www.acmicpc.net/problem/13305 풀이 방법 이동을 하면서 주유비가 최소인 도시에서, 다음 주유비 최소인 도시를 만나기 전까지의 거리만큼 주유를 다하고 가야겠다고 생각을 했다. 그래서 생각한게 위와 같은 로직이였다. 어짜피 두 개의 결과 값이 같은 점을 이용해서 나는 min에 현재 최소주유비용을 저장하고 한칸씩 이동을 하면서 min보다 더 작은 주유비용이 나오기 전까지는 해당 거리를 계속 min과 곱하고 sum에 더해주는 식으로 구현했다. 제출 코드 import java.io.*; import java.util.*; public class BJ_13305_주유소 { public static void main(String[] args) throws IOExceptio..

    [SWEA] D4 3234 준환이의 양팔저울

    문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWAe7XSKfUUDFAUw&categoryId=AWAe7XSKfUUDFAUw&categoryType=CODE&problemTitle=3234&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 간단한 가지치기 문제다. 나는 우선 문제를 읽고 크게 두가지를 생각했다. 1. 첫번째 추는 무조건 왼쪽에 올리기 2. 두번재 추..

    [BJ] 0217 알고리즘 문제풀이(BJ_1987_알파벳, BJ_2491_수열,BJ_2564_경비원, BJ_3109_빵집,BJ_5052_전화번호목록 )

    [BJ_1987_알파벳] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_1987_%EC%95%8C%ED%8C%8C%EB%B2%B3.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by creating an account on GitHub. github.com => 이 문제는 백트래킹인데 나는 계속 알파벳을 사용했는지 확인하는 배열 정보가 계속 남아있어서 많이 해맸다. 나중에서야 코드 한줄만 추가하니 풀렸다. [BJ_2491_수열] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_2491_%EC%88%98%EC%97%B4...

    [SWEA] 0217 알고리즘 문제풀이(D5_1247_최적경로)

    [D5_1247_최적경로] https://github.com/yoon828/Algorithm/blob/main/SW%20expert/D5_1247_%EC%B5%9C%EC%A0%81%EA%B2%BD%EB%A1%9C.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by creating an account on GitHub. github.com 이 문제는 시간이 넉넉하기 때문에 제일 먼저 생각난 방법으로 풀이했다. 순서를 순열로 먼저 정한 후 정해진 순열에서 전체 거리를 구하는 방법으로 풀이했다.

    [BJ] 0216 알고리즘 문제풀이(1992_쿼드트리, 2578_빙고)

    [1992_쿼드트리] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_1992_%EC%BF%BC%EB%93%9C%ED%8A%B8%EB%A6%AC.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by creating an account on GitHub. github.com [ 2578_빙고] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_2578_%EB%B9%99%EA%B3%A0.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by c..

    [SWEA] 0216 알고리즘 문제풀이(SW_4012_요리사,SW_5644_무선충전)

    [SW_4012_요리사] https://github.com/yoon828/Algorithm/blob/main/SW%20expert/SW_4012_%EC%9A%94%EB%A6%AC%EC%82%AC.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by creating an account on GitHub. github.com [SW_5644_무선충전] https://github.com/yoon828/Algorithm/blob/main/SW%20expert/SW_5644_%EB%AC%B4%EC%84%A0%EC%B6%A9%EC%A0%84.java GitHub - yoon828/Algorithm Contribute to yoo..

    [SWEA] 0210 알고리즘 문제풀이(D4_1233) [이전 블로그 게시글]

    https://blog.naver.com/k915k1004/222644200421 [SWEA] 0210 알고리즘 문제풀이(D4_1233) [D4_1233] blog.naver.com

    [SWEA] 0209 알고리즘 문제풀이(D4_1123, D4_1224,D4_1861,D3_3499, D4_1210) [이전 블로그 게시글]

    https://blog.naver.com/k915k1004/222643477917 [SWEA] 0209 알고리즘 문제풀이(D4_1123, D4_1224,D4_1861,D3_3499, D4_1210) [D4_1123] [D4_1124] [D4_1861] [D3_3499] [D4_1210] blog.naver.com

    [BJ] 0215 알고리즘 문제풀이(1074,2839) [이전 블로그 게시글]

    https://blog.naver.com/k915k1004/222648540020 [BJ] 0215 알고리즘 문제풀이(1074,2839) [1074] [2839] blog.naver.com

    [BJ] 0214 알고리즘 문제풀이(2961, 3040, 2605) [이전 블로그 게시글]

    https://blog.naver.com/k915k1004/222647540896 [BJ] 0214 알고리즘 문제풀이(2961, 3040, 2605) [2961] [3040] +) 컬링보면서 하나 더 풀었당 [2605] blog.naver.com