Algorithm 21

[알고리즘_Java] 백준 2702번 초6 수학 (최소공배수&최대공약수)

a=5, b=10이면 최대공약수는 둘중 작은수 a=5보다 작거나 같다 최소공배수눈 둘중 큰수 b=10보다 크거나 같다 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int t = Integer.parseInt(br.readLine()); for (int i = 0; i < t; ..

Algorithm/Java 2022.02.28

[알고리즘_Java] 백준 5555번 반지 (substring)

"abc"를 찾고있다고 하고 문자열이 "cflwdadcab"가 주어졌다고 가정한다. "cflwdadcab"의 끝부분 "ab"가 끝이 아닌 첫부분 "cfl~"가 붙어있다고 생각해서 "abc" , "bcf"까지 비교해야한다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String ss = br.readLine();..

Algorithm/Java 2022.02.25

[알고리즘_Java] 백준 17173번 배수들의 합 (HashSet)

import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String[] st = br.readLine().split(" "); //n과 m int n = Integer.parseInt(st[0]); //k의 배수를 어디까지 구할지 판단하는 기준 String[] st2 = br.readLi..

Algorithm/Java 2022.02.19

[알고리즘_Java] 백준 10872번 팩토리얼 (재귀, 메모이제이션)

-> 함수 여러번 호출 방식 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); bw.write(fact(N)+""); bw.flush(); } public static int fact(int N){ if(N==0){ return 1; } retu..

Algorithm/Java 2022.02.04

[알고리즘_Java] 백준 10870번 피보나치 수 5 (재귀, 메모이제이션)

-> 함수 여러번 호출 방식 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(br.readLine()); bw.write(pibo(n)+""); bw.flush(); } public static int pibo(int n){ if(n==0){ return 0; }else ..

Algorithm/Java 2022.02.04

[알고리즘_Java] 백준 2292번 벌집

저는 각 층에 있는 방 수를 세어봤는데 (층 수-1)*6씩 늘어나는 것을 알아 냈고 위처럼 패턴을 이해했습니다. N이 전 층까지의 방 수보다 크고 현재 층까지의 방 수까지보다 작거나 같을때 현 층을 알 수 있습니다. 1층은 예외로 먼저 처리했고 2층부터 시작해서 min과 max로 층을 확인했습니다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWri..

Algorithm/Java 2022.02.02

[알고리즘_Java] 백준 1316번 그룹 단어 체커

예제 1번 -> 단어 모두 h,a,p,y 모두 같은 알파벳이 떨어져 나오지 않기 때문에 그룹단어 총 3개 예제 2번 -> 'aba' 를 보면 첫번째와 마지막 'a' 사이에 'b'가 껴있기 때문에 'a'는 그룹단어가 아니다. 이와같이 'abab', 'abcabc'도 그룹단어가 아니기 때문에 그룹단어는 'a' 1개 -> 소문자만 들어오기 때문에 총 26개의 불리안 배열을 만들어 놓고 단어에 쓰인 알파벳 인덱스 번호 값을 true로 체크한다. -> 이전에 쓰인 같은 알파벳이 들어왔을때 바로앞에서 썼던 것과 일치하는지, 아니면 떨어져서 나왔는지 확인해서 그룹단어를 체크한다. import java.io.*; public class Main { public static void main(String[] args) ..

Algorithm/Java 2022.02.01

[알고리즘_Java] 백준 5622번 제로 (Stack, ArrayList 사용)

▷ 1번방법 (Stack) 0이 입력되면 그전에 가장 위에 쌓인 값 삭제하기 stack.pop -> 맨위 값 삭제 stack.push -> 값 추가 stack.peek -> 맨위 값 출력 import java.io.*; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); Stack stack = new Sta..

Algorithm/Java 2022.02.01

[알고리즘_Java] 백준 2908번 상수

▷ 1번방법 숫자를 문자열로 보고 순서를 뒤집기 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 NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWri..

Algorithm/Java 2022.01.07

[알고리즘_Java] 백준 1000번 A+B (BufferedReader & BufferedWriter 사용법)

Scanner와 Println이 아닌 BufferedReader, BufferedWriter을 사용하여 문제를 풀었다. ⭐️주의사항⭐️ BufferedReader : 입력 - InputStreamReader(System.in) -> Scanner(System.in)이랑 같음! (선언시 헷갈려서 이해를 돕기위함) BufferedWriter : 출력 - OutputStremWriter(System.out) -> System.out.println()이랑 같음! try-catch문이나 throws를 이용하여 예외잡기 숫자 입력후 엔터를 누르면 엔터도 포함되기 때문에 readLine()으로 받아서 숫자형 변환하기 .write()에는 문자형만 가능하기때문에 자료형 변환하기 br.flush(); / br.close(..

Algorithm/Java 2021.12.20