[알고리즘/백준] 1920번 : 수 찾기(Java)
문제1920번 : 수 찾기문제링크https://www.acmicpc.net/problem/1920난이도S4언어Java분류이분 탐색 | 자료구조, 정렬, 이분 탐색, 해시를 활용한 집합과 맵 📌 최종 정답 코드import java.io.*;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new..
Programming/Algorithm
[알고리즘/백준] 1904번 : 01타일(Java)
문제1904번 : 01타일문제링크https://www.acmicpc.net/problem/1904난이도S3언어Java분류DP | 다이나믹 프로그래밍 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader((new InputStreamReader(System.in))); BufferedWriter bw = ..
Programming/Algorithm
[알고리즘/백준] 2747번 : 피보나치 수(Java)
문제2747번 : 피보나치 수문제링크https://www.acmicpc.net/problem/2747난이도B2언어Java분류수학, 구현, 다이나믹 프로그래밍 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Bu..
Programming/Algorithm
[알고리즘/백준] 10815번 : 숫자카드(Java)
문제10815번 : 숫자카드문제링크https://www.acmicpc.net/problem/10815난이도S5언어Java분류자료구조 | 자료구조, 정렬, 이분 탐색, 해시를 사용한 집합과 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.HashSet;import java.util.Set;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new Buff..
Programming/Algorithm
[알고리즘/백준] 7785번 : 회사에 있는 사람(Java)
문제7785번 : 회사에 있는 사람문제링크https://www.acmicpc.net/problem/7785난이도S5언어Java분류자료구조 | 해시를 사용한 집합과 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.Comparator;import java.util.HashSet;import java.util.List;import java.util.Set;public class Main { public static void main(..
Programming/Algorithm
[알고리즘/백준] 28279번 : 덱2(Java)
문제28279번 : 덱2(Java)문제링크https://www.acmicpc.net/problem/28279난이도S4언어Java분류자료구조 | 자료구조, 덱 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.LinkedList;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..
Programming/Algorithm
[알고리즘/백준] 18258번 : 큐2
문제18258번 : 큐2문제링크https://www.acmicpc.net/problem/18258난이도S4언어Java분류자료구조 | 자료구조, 큐 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class Main { public static void main(String args[]) throws Exception { BufferedRea..
Programming/Algorithm
[알고리즘/백준] 10828번 : 스택
문제10828번 : 스택문제링크https://www.acmicpc.net/problem/10828난이도S4언어Java분류자료구조 | 구현, 자료구조, 스택 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamRea..
Programming/Algorithm
[알고리즘/백준] 2231번 : 분해합(Java)
문제2231번 : 분해합문제링크https://www.acmicpc.net/problem/2231난이도B2언어Java분류브루트포스 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buffer..
Programming/Algorithm
[알고리즘/백준] 2798번 : 블랙잭(Java)
문제2798번 : 블랙잭(Java)문제링크https://www.acmicpc.net/problem/2798난이도B2언어Java분류브루트포스 알고리즘 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.StringTokenizer;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(Syst..
Programming/Algorithm
[알고리즘/백준] 2587번 : 대표값2(Java)
문제2587번 : 대표값2문제링크https://www.acmicpc.net/problem/2587난이도B2언어Java분류정렬 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Arrays;public class Main { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
Programming/Algorithm
[알고리즘/백준] 2750번 : 수 정렬하기(Java)
문제2750번 : 수 정렬하기문제링크https://www.acmicpc.net/problem/2750난이도B2언어Java분류구현, 정렬 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Arrays;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buffe..
Programming/Algorithm
[알고리즘/백준] 1152번 : 단어의 개수(Java)
문제1152번 : 단어의 개수문제링크https://www.acmicpc.net/problem/1152난이도B2언어Java분류구현, 문자열 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buffe..
Programming/Algorithm
[알고리즘/백준] 10988번 : 팰린드롬인지 확인하기(Java)
문제10988번 : 팰린드롬인지 확인하기문제링크https://www.acmicpc.net/problem/10988난이도B3언어Java분류구현, 문자열 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = n..
Programming/Algorithm
[알고리즘/백준] 2738번 : 행렬 덧셈(Java)
문제2738번 : 행렬 덧셈문제링https://www.acmicpc.net/problem/2738난이도B3언어Java구분수학, 구현, 사칙연산 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new ..
Programming/Algorithm
[알고리즘/백준] 10818번 : 최소, 최대(Java)
문제10818번 : 최소, 최대문제링크https://www.acmicpc.net/problem/10818난이도B3언어Java분류1차원 배열 | 수학, 구현 📌 최종 정답 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw ..
Programming/Algorithm
[알고리즘/백준] 8393번 : 합 (Java) - 반복문, 수학 공식 사용
문제8393번 : 합문제링크https://www.acmicpc.net/problem/8393난이도B5언어Java분류반복문, 구현 | 수학, 구 이번 문제는 반복문과 공식 사용으로 두 가지 방식으로 풀었습니다. 첫 번째 반복문을 사용할 경우 입력된 n번만큼 반복문안에서 값을 더해서 출력하는 방식입니다.import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) throws IOExcepti..
Programming/Algorithm
[알고리즘/백준] 25304번 : 영수증 (Java)
문제25304번 : 영수증문제링크https://www.acmicpc.net/problem/25304난이도B4언어Java분류반복문, 구현 | 수학, 구현, 사칙연산 이전에 푼 입출력 받는 방법과 반복문을 같이 활용하여 문제를 해결하였다.2025.04.07 - [알고리즘] - [알고리즘/백준] 11382번 : 꼬마 정민 (Java) [알고리즘/백준] 11382번 : 꼬마 정민 (Java)문제11382번 : 꼬마 정민문제링크https://www.acmicpc.net/problem/11382난이도B5언어Java분류입출력 | 수학, 구현, 사칙연산 스캐너로 입력한 문장을 공백 기준으로 나눠서 각 3개의 합을 구하는 문제를 풀0206cho.tistory.com2025.04.08 - [알고리즘] - [알고리즘/백..
Programming/Algorithm
[알고리즘/백준] 15552번 : 빠른 A+B (Java)
문제15552번 : 빠른 A+B문제링크https://www.acmicpc.net/problem/15552난이도B4언어Java분류입출력 | 수학, 구현, 사칙연 이전에 풀었던 문제에서 조금 심화된 버전으로,2025.04.07 - [알고리즘] - [알고리즘/백준] 11382번 : 꼬마 정민 (Java) [알고리즘/백준] 11382번 : 꼬마 정민 (Java)문제11382번 : 꼬마 정민문제링크https://www.acmicpc.net/problem/11382난이도B5언어Java분류입출력 | 수학, 구현, 사칙연산 스캐너로 입력한 문장을 공백 기준으로 나눠서 각 3개의 합을 구하는 문제를 풀0206cho.tistory.com 속도향상을 위해 Scanner와 System.out.println 대신 Buff..
Programming/Algorithm
[알고리즘/백준] 11382번 : 꼬마 정민 (Java)
문제11382번 : 꼬마 정민문제링크https://www.acmicpc.net/problem/11382난이도B5언어Java분류입출력 | 수학, 구현, 사칙연산 스캐너로 입력한 문장을 공백 기준으로 나눠서 각 3개의 합을 구하는 문제를 풀어보았습니다.최종 풀이 답안은 다음과 같습니다. 스캐너를 통해 입력 값을 받고, 해당 입력 값을 공백으로 나눠 배열에 저장 후 반복문을 통해 입력값의 자료형을 변경해서 더한 값을 출력하였습니다.import java.util.Scanner;public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); ..
Programming/Algorithm
[알고리즘] 기본적인 정렬 알고리즘
인프런 무료 강의 권오흠교수님 '영리한 프로그래밍을 위한 알고리즘 강좌' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://inf.run/iezc # Selection Sort - 각 루프마다 최대 원소를 찾음 - 각 루프마다 최대 원소와 맨 오른쪽 원소를 교환 - 각 루프마다 맨 오른쪽 원소를 제외함 - 하나의 원소만 남을 떄까지 위의 루프를 반복 selectionSort(A[], n) // 배열 A[1 ... n]을 정렬 { for last A[last]; // A[k]와 A[last]의 값을 교환 } } 시간복잡도 T(n) = (n-1) + (n-2) + ... + 2 + 1 = 0(n^2) bubbleSort(..
Programming/Algorithm
[알고리즘] 멱집합 powerset
인프런 무료 강의 권오흠교수님 '영리한 프로그래밍을 위한 알고리즘 강좌' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://inf.run/iezc멱집합 : 어떤 집합의 모든 부분 집합의 집합 {a, b, c, d, e, f}의 모든 부분집합을 나열하려면 a를 제외한 {b, c, d, e, f}의 모든 부분집합들을 나열하고 {b, c, d, e, f}의 모든 부분집합에 {a}를 추가한 집합들을 나열 {b, c, d, e, f}의 모든 부분집합에 {a}를 추가한 집합들을 나열하려면 {c, d, e, f}의 모든 부분집합들에 {a}를 추가한 집합들을 나열하고 {c, d, e, f}의 모든 부분집합에 {a, b}를 추가한 집합들을 나열 // {c, d, ..
Programming/Algorithm
[알고리즘] Recursion의 응용 : N-Queens
인프런 무료 강의 권오흠교수님 '영리한 프로그래밍을 위한 알고리즘 강좌' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://inf.run/iezc /* * Recursion의 응용 : N-Queens 6-01 * * 상태공간트리 : 찾는 해를 포함하는 트리 * 즉, 해가 존재한다면 그것은 반드시 이 트리의 어떤 한 노드에 해당함 * 따라서 이 트리를 체계적으로 탐색하면 해를 구할 수 있음 * * 상태공간 트리의 모든 노드를 탐색해야 하는 것은 아님 * * * 되추적 기법 * : 상태공간 트리를 깊이 우선 방식으로 탐색하여 해를 찾는 알고리즘 */package edu.recursion;public class Recursion06_01 { //..
Programming/Algorithm
[알고리즘] Recursion의 응용 - Counting Cells in a Blob
인프런 무료 강의 권오흠교수님 '영리한 프로그래밍을 위한 알고리즘 강좌' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://inf.run/iezc이번에는 순환함수를 응용하여 Counting Cells in a Blob를 해보았다. Blob : 서로 연결된 image pixel들의 집합 각 픽셀은 background pixel이거나 혹은 image pixel 상하좌우 및 대각방향으로도 연결된 것으로 간주 입력 : - N * N 크기의 2차원 그리드 - 하나의 좌표 (x, y) 출력 : - 픽셀 (x,y)가 포함된 blob의 크기, - (x,y)가 어떤 blob에도 속하지 않는 경우에는 0 현재 픽셀이 이 속한 blob의 크기를 카운트하려면 현재 픽셀..
Programming/Algorithm