데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역버퍼를 이용한 입력 : BufferedReader 버퍼를 이용한 출력 : BufferedWriterhttps://jhnyang.tistory.com/entry
<장점>알고리즘을 설계하고 구현하기 쉽다.복잡한 알고리즘 없이 빠르게 구현 가능하다.<단점> 알고리즘 실행시간이 매우 길다.메모리 효율면에서 매우 비효율적이다. <종류> 선형구조 : 순차탐색비선형구조 : 백트랙킹 , DFS , BFSㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
이진탐색은 오름차순으로 정렬된 데이터에서 다음 4가지 과정을 반복합니다. ( 내림차순일 경우 반대로 진행 )1\. 현재 데이터셋의 중앙값을 선택한다2\. 중앙값>타깃값 데이터일 때, 중앙값 기준으로 왼쪽 데이터셋을 선택한다3\. 중앙값<타깃값 데이터일 때, 중앙값
각 노드에 중복되지 않는 키가 있다루트노드의 왼쪽 서브트리는 해당 노드의 키보다 작은 키를 갖는 노드들로 구성된다.루트노드의 오른쪽 서브트리는 해당 노드의 키보다 큰 키를 갖는 노드들로 구성된다.이진탐색트리는 기존 이진트리보다 탐색이 빠르다.이진탐색트리의 탐색연산은 트
..백준 5639번 이진 검색 트리 문제를 풀었을 때, 익숙치 않았던 재귀함수 파트가 나와 머리가 아팠던 적이 있어 간단하게 재귀함수가 어떻게 호출 -> 복귀 되는지 코드로 알아보았습니다.< 입력 > 5< 출력 >recursion(2,5) 를 호출recurs
Stack() : 비어 있는 새로운 스택을 만든다. isEmpty() : 스택이 비어있으면 true , 아니면 false를 반환한다.push(e) : 항복 e를 스택의 맨 위에 추가한다.pop() : 스택의 맨 위에 있는 항목을 꺼내어 반환한다. peek() : 스택의
스택과 반대로 선입선출(First - In First Out : FIFO)먼저 들어온것이 먼저 나간다. 가장 앞에 있는 사람, 즉 가장 먼저 온 사람이 가장 먼저 서비스를 받아야하고, 방금 도착한 사람은 줄의 맨 뒤에 서서 대기한다.rear(후단) : 큐에서 삽입이
1. 우선순위 큐(Priority Queue) 모든 데이터가 우선순위를 가지고 있고, 들어온 순서와 상관없이 우선순위가 높은데이터가 먼저 출력되는 구조입니다. 예를들어, 운영체제에서 시스템 프로세스는 응용 프로세스보다 더 높은 우선순위를 가집니다. 우선순위 큐는
그래프 완전 탐색 기법 중 하나깊이 우선 탐색은 그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘 입니다.깊이 우선 탐색은 실제 구현 시 재귀함수를 이용하므로 스택 오버 플
시작 정점으로부터 가까운 정점을 먼저 방문하고 멀리떨어져 있는 정점을 나중에 방문하는 순회 방법입니다.너비우선 탐색을 위해서는 가까운 거리에 있는 정점들을 차례로 저장하고, 들어간 순서대로 꺼낼 수 있는 자료구조가 필요한데 , 이때 큐(queue)가 사용된다. 정점들이
다음과 같은 그래프가 있다고 해보자양방향이 아닌 단방향으로 되어있고, 연결을 나타내보면 위처럼 나타낼 수 있다.(1이 연결, 0은 연결x 을 나타내었다.)문제 해결 전, 그냥 BFS 문제이니까 큐를 이용하고 단순한 배열만을 이용하여 문제를 풀어왔었는데, 그렇게하면 처음
<입력>0 0 0 0 0 0 00 1 1 1 1 1 00 0 0 1 0 0 01 1 0 1 0 1 11 1 0 1 0 0 01 0 0 0 1 0 01 0 1 0 0 0 0<출력>122차원 미로 변수 7x7 static int board;방문 유(true)무
<입력>25 21 3 3 6 78 13 9 12 84 16 11 12 62 4 1 23 29 13 4 7 36 329 21 26 9 5 821 19 8 0 21 199 24 2 11 4 2419 29 1 0 21 1910 29 6 18 4 329 11 15 3 3
테스트 케이스(T)를 입력하고, 다음 줄에 배열의 크기(N)를 입력해주면 오른쪽 회오리 모양으로 숫자가 증가하는 문제<입력>234<출력>1 2 3 8 9 4 7 6 5 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 처음에 문제를 보고
📝 SWEA 1284 수도요금경쟁A 사와 B 사의 수도요금 중 덜 나가는 회사의 요금을 출력하는 문제<입력>29 100 20 3 108 300 100 10 250<출력>A사의 수도 요금은 고정된 값이기 때문에 B사의 W(한달 사용 수도량)값이 R(B사의 수
📎 백준 14502 연구소제약 조건부터 살펴보자M은 9보다 작은 수빈 칸의 개수는 3개 이상벽(1) 은 반드시 3개를 세운다. 코드에서 변수 & 함수 이름이 비슷해 헷갈릴 수 있기 때문에 각자 무엇인지 설명하자면 virusmap : 원본 배열 copyvirusmap
📎 백준 2667 단지번호붙이기정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다
1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 다음에 오는 순열을 구하는 프로그램을 작성한다.첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 "-1" 을 출력한다.예제 입력에 있는 순열 중
<입력>55 4 1 3 2<출력>초기 배열 : 5 4 1 3 2 병합정렬을 한 후 : 1 2 3 4 5
📎 백준 17144 미세먼지 안녕!공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있고, (r, c)에 있는 미세먼지의 양은 Ar,c이다.1초 동안 아래 적힌 일이 순서대로 일어난다.미세먼지가
BFS 알고리즘 사용BFS, DFS 는 풀어보면 어느정도 틀이 비슷해서 문제에서 요구하는 출력값만 잘 이해하면 금방금방 구현이 가능하다. 잊어버리지 않도록 복습을 꾸준히
기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장해 다시 큰 문제를 해결할 때 사용하는 방법대표적으로 피보나치 문제가 있다.📎 백준 2579번 계단오르기DP 로 문제를 풀어야하는 것 을 알아도 재귀를 생각해내는 것이 너무 쉽지않다.
Stack 문제 1\. Stack 의 초기화 Stack stack = new Stack<>();를 while 문 밖에 두면, 각 입력 문자열을 처리할 때마다 스택이 초기화되지 않는다. 이는 한 문자열의 처리가 끝난 후 스택에 남아 있는 괄호들이 다음 문자열의 처리