알고리즘/항해99 알고리즘 34

항해99 미들러 알고리즘 9일차

BOJ2437 저울 문제에서 물어보는것은 배열의 n번째 수가 n+1보다 작아야 값을 만들 수 있다를 안다면 문제를 정말 쉽게 풀 수 있다.  매 반복마다, 현재의 sum + 1이 arr[i]보다 작으면 break로 반복문을 종료합니다.그렇지 않으면, arr[i]를 sum에 더합니다.package hanghee99_Middler;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class hh09_BOJ2437 { public static void main(Strin..

항해99 미들러 알고리즘 8일차

BOJ9996 https://www.acmicpc.net/problem/9996 이 문제는 패턴 문자열의 *를 기준으로 앞부분과 뒷부분을 나누고, 각 파일 이름이 앞부분으로 시작하고 뒷부분으로 끝나는지를 확인해야 합니다. 파일 이름이 앞부분으로 시작하고, 뒷부분으로 끝나면 "DA", 아니면 "NE". package hanghee99_Middler;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class hh08_BOJ9996 { public static void main(String[] args) throws IOException { BufferedReader ..

항해99 미들러 알고리즘 7일차

BOJ10799 쇠막대기 1. 열린 괄호면 스택에 넣음2. 닫힌 괄호면 스택에서 하나 꺼냄, 그런데 그때 바로 직전 문자가 열린 괄호면 현재 스택 크기만큼 조각을 추가3. 혹은 쇠막대기의 끝이면 조각 하나 추가package hanghee99_Middler;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class hh07_BOJ10799 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new ..

한 페이지로 끝내는 DFS/BFS

BOJ1260 DFS와 BFS에 대해서는 오지게 들었지만 막상 문제를 마주하면 못푸는 경우가 너무 많았다 그래서 오늘은 이 한장에 자바만 아는사람이 DFS와 BFS를 풀 수 있도록 하겠다. 목차를 한줄로 나열하겠다. 1. Array 2. SinglelyLinked List 3. DoublelyLinked List 4. 스택 구현 5. 큐 구현 6. 트리 7. 그래프 그리고 그래프 검색인 DFS와 BFS에 대하여 알아보겠다. Linked List 란?컴퓨터의 자료를 저장하는 한 종류로 1열로 연결되어 있는 데이터이다. 다음 데이터의 주소를 알고 있다. 배열과 비교가 되는데링크드리스트는 전체의 크기를 늘리거나 줄일 수 있다는 장점이 있다.배열은 전체 크기를 늘리거나 줄일 수 없다. 하지만 속도는 더 빠르다...

항해99 미들러 알고리즘 3일차

https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr lux는 시작점의 X좌표이다. luy는 시작점의 Y좌표이다.rdx는 종료점의 X좌표이다. rdy는 종료점의 Y좌표이다. 전체 값을 돌면서 lux와 luy는 작은 값을 rdx와 rdy는 큰 값을 가져야한다는걸 이해하고#이 발견 될때의 가장 작은 x값을 lux로 가장 작은 y값을 luy로 하면되고#이 발견 될때의 가장 큰 x값의 +1을 rdx로 가장 큰 y값의 +1을 rdy로 하면 된다. package hanghee99_Middler;import..

항해99 미들러 알고리즘 2일차

백준 14495피보나치 비스무리한 수열 배열을 int가 아닌 long 을 사용해야한다.  int의 범위는 약 -21억 ~ 21억 (-2,147,483,648 ~ 2,147,483,647)long의 범위는 약 -9경 ~ 9경 (-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)116 일 경우 값 : 7536815746437618530package hanghee99_Middler;import java.util.Scanner;public class hh02_BOJ14495 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc..

항해99 미들러 알고리즘 1일차

BOJ1929 소수구하기 자바(JAVA) 소수를 구하는 방법 중 1가지로 " √N 이하의 자연수들로 모두 나눠본다. " 를 가지고 진행해보았다. 소수란 자기 자신을 제외하고 √N 이하의 자연수까지 나누었을때 나머지가 0이 나오면 안된다.package hanghee99_Middler;import java.util.Scanner;public class hh01_BOJ1929 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n = sc.nextInt(); for (int i = m; i