전체 글 (45) 썸네일형 리스트형 2022.06.26 백준 Q11650 학습내용 : comparator, comparable 인터페이스와 정렬 방식 수정을 통한 정렬 https://www.acmicpc.net/problem/11650 이 문제는 compare 함수를 변경해 값을 비교하는 방식을 변경하고 그를 통해 각 객체의 대소를 비교하게 만드는 문제이다. 한 객체를 String으로 받아오면 이미 있는 클래스이기 때문에 compare를 바꾸기 어렵다. 따라서 필자는 따로 클래스를 만들고 비교하는 방식을 MyComparator로 따로 만들어 compare를 비교할 예정이다 sort(T[] a, Comparator 2022.06.25 백준 Q2805 학습내용 : 이분탐색, Upper Bound,Lower Bound 이 문제는 빠른 시간 내에 최소 나무 길이에 부합하는 잘라야 하는 나무의 높이를 설정하는 문제이다. 처음에 필자는 treeArray를 크기 순으로 나열하고 두번째로 큰 부분부터 잘린 나무의 합을 구하고 그 값이 원하는 나무 길이보다 작으면 treeArray[]의 index를 하나씩 줄이고 만약 처음으로 원하는 나무 길이가 작으면 treeArray[index]+(m-sum)/index값보다 큰 나무의 수로 값을 구했다. 그랬더니 시간 복잡도가 O(n!)이라 시간 초과가 나와 이분 탐색으로 시간 복잡도를 줄였다. long min=0,max = 0; for(int i : treeArray){ max =Math.max(i,max); } 윗 코드에.. 2022.06.24 백준 Q1260 학습 내용 : 스택 큐를 이용한 자료구조 만들기. DFS,BFS 처리 방법 이 문제는 DFS, BFS를 구현하는 문제이다. DFS는 깊이 우선 탐색으로 그래프에서 깊이를 하나씩 늘려가면서 내려가다가 더 이상 인접 노드가 나오지 않으면 한 칸 위로 올라가는 구조이다. 이를 구현하기 위해서는 다시 한 칸 위로 올라가는 것이 스택을 톻해 pop하는 것도 같으므로 stack을 이용해 구현했다. 해당 노드가 스택에 들어갔었던 노드인지 확인하기 위해 isvisited boolean 변수 배열을 사용했다. 처음에는 무조건적으로 currentVertex에 있는 값을 출력에 넣어줘야 할 줄 알았는데 다시 되돌아올때 이전에 넣었던 값도 다시 currentVertex가 될 수 있어 isVisited가 false일때만 출력에.. 2022.06.23 백준 Q15649 학습 내용 : 재귀함수를 이용한 순열 알고리즘 생성 이 문제는 순열과 재귀함수를 이용해 수열을 구하는 문제이다. 깊이를 사용해 현재 자신의 몇번째 자리인지 찾고 그 앞에 이미 1~N까지 돌면서 앞자리에 없는 수만 arr[deep]에 넣는다. 그 이후 재귀함수를 이용해 deep을 하나 늘려서 다시 함수를 호출한다(MakeSequence(n,m,a+1). 만약 deep(a로 표현)이 m과 같아지면 arr에 있는 값들이 출력되게 코드를 만들었다. arr의 a앞의 인덱스와 비교를 하기 때문에 따로 출력이 완료되고 값을 초기화해줄 필요가 없다. -내가 처음 짠 코드- package BaekJoon15649; import java.io.BufferedReader; import java.io.IOException; .. 2022.06.22 백준 Q10845 학습 내용 : 큐 구현, push.pop.front.back.size 구현 이 문제는 Queue에 있는 각종 함수를 실제 구현해보는 문제이다. Queue는 FIFO 방식으로 처음 넣은 값이 먼저 삭제됩니다. Queue를 구현할때 pop할 때 필요한 제일 먼저 넣은 값의 위치(front)와 push할 때 저장할 위치(back)가 필요하기 때문에 front와 back을 queue의 멤버로 설정했다. 각 값은 QueueNode로 하나하나의 데이터를 만들어줬다. 실수한 부분 Queue의 개념의 혼돈으로 stack 구조로 만들었었다(큐는 단방향 구조라 pre 필요없이 next만 있으면 된다). int pop(){ if(front!=null){ int data = front.getData(); front = fro.. 이전 1 ··· 3 4 5 6 다음