목록자바 (6)
정리하고기록하자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkrhXG/btrGzu64nUv/g5sLkeHem8iQlTmy3cXldK/img.jpg)
백준 - 알고리즘 for문 더하기 사이클 (1110) 문제 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A0kQp/btrDobJww9Y/BgULDKcOVGCxklTwsYDXuk/img.jpg)
그래프 ( Graph ) 그래프란 정점 ( Vertex ) 과 간선 ( Edge ) 으로 이루어진 자료구조 이다. 정확히는 정점 ( Vertex ) 간의 관계를 표현하는 조직도라고 볼 수 있다. 이러한 면에서 트리는 그래프의 일종인 셈이다. 그래프와 트리의 차이점 그래프와 관련된 용어 정점 ( Vertex ) : 노드 ( Node ) 라고도 하며 정점에는 데이터가 저장된다. 간선 ( Edge ) : 정점 ( 노드 ) 를 연결하는 선으로 link, brach 라고도 부른다. 인접 정점 ( adjacent Vertex ) : 간선에 의해 직접 연결된 정점 ( 0과 2는 인접정점 ) 단순 경로 ( simple path ) : 경로 중에서 반복되는 정점이 없는 경우, 한붓그리기와 같이 같은 간선을 지나가지 않는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwcsgN/btrydJsKCSF/sp44yFjqTXVepYO7xpiGM1/img.jpg)
큐(Queue) 큐란 컴퓨터의 기본적인 자료구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO ( First In First Out ) 구조로 저장하는 형식이다. ex ) 줄서기와 같이 처음 선 사람이 처음 통과하는 것처럼, 가장 먼저 넣은 데이터를 가장 먼저 꺼낼수 있는 구조. 큐의 선언 import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] args){ Queue que = new LinkedList(); que.add("Hello"); que.add("World"); System.out.print(que); } } 주요 메소드 기능 Throws excep..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dTzJVZ/btrxkMceEYV/yAkvIhGMUkpKI9jixBoAAk/img.jpg)
힙 ( Heap ) 힙이란 완전이진트리의 형태로 만들어진 자료구조 이다. *이진트리란 컴퓨터 응용에서 가장 많이 활용되는 트리구조이다. 힙의 종류 - 최대 힙 : ( 완전 이진 트리 ) + ( 부모 노드 > 자식 노드 ) 최대 힙은 완전 이진 트리이면서 부모 노드가 자식 노드보다 큰 트리를 말한다. - 최소 힙 : ( 완전 이진 트리 ) + ( 부모 노드 < 자식 노드 ) 최소 힙은 완전 이진 트리이면서 부모 노드가 자식 노드보다 작은 크리를 말한다. *보통 힙이라고 하면 일반적으로 최대 힙을 의미한다. 힙의 활용 힙은 최댓값 혹은 최솟값을 빠르게 찾아내기 유리한 자료구조이다. 1. 우선순위 큐를 구현할 때 쓰이기도 한다. 2. 허프만 코드를 구현할 때도 쓰이기도 한다. 3. 힙 정렬을 구현 할 때도 쓰..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ca6khD/btruNi6jjMN/hlxisDIYUOcKUFJdu9WkL1/img.jpg)
백준 - 알고리즘 정렬 수 정렬하기 2 (2751) 문제 문제 : N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 1. 정렬을 하기 위해서 sort 를 써야 한다는거 까지 생각했고 배열 선언 후 배열에 원소를 넣어 Arrays.sort()로 정렬 후 출력 해야 겠다고 접근 했다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int[] a = new int[sc.nextInt()]; for(int ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KbRaj/btrs2tAfHMd/jkFYfHcQ6XcDEBNYkiCkWk/img.jpg)
백준 - 알고리즘 1차원배열 평균 (1546) 문제 문제 : 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 :..