[ 완전탐색 문제풀이 ] 진법 변환 2 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음) 256 MB 19697 9940 8354 50.821% 문제 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다. 출력 첫째 줄에 10진법 수 N을 B진법으로 출력한다. 더보기 import java.util.Scanner; public class Main { ..
55 Posts
IT
IT/알고리즘
패스트캠퍼스 Java 코딩테스트 강의 3주차
IT/알고리즘
패스트캠퍼스 Java 코딩테스트 강의 2주차
Chapter 4 완전 탐색 - 시뮬레이션/ Brute Force 어떻게든 답을 구한다 완전 탐색 모든 경우의 수를 시도한다. 문제해결의 가장 기본적인 방법 별도의 최적화 없이, 효율성을 고려하지 않는 풀이방법 예) 9 명의 난쟁이의 키가 주어질 때, 키의 합이 100이 되는 일곱 난쟁이를 찾아라. 9 난쟁이의 합을 구한 뒤, 두 명의 난쟁이의 키를 빼서 100이 되는 경우를 찾으면 됨 모든 경우의 수를 체계적으로 검사할 수 있도록 설계해야 한다. - 문제가 요구하는 바를 이해하고, 정확히 구현할 수 있어야 한다. 가장 쉽고 간단한 접근 효율을 생각하지 않기 대문에 문제의 크기가 작으면 유용하다. 문제의 크기가 클수록 시간/공간복잡도가 늘어나 적용이 어려울 수 있다. 완전한 정답이 되지 못하더라도 문제를..
IT/알고리즘
카운팅 정렬
정렬하고자 하는 값의 범위를 미리 알고있을 때 그 범위 내에서 각 값을 몇 개씩 가지고 있는지 세어서 그 정보를 기반으로 정렬을 수행하는 알고리즘 설계 정렬할 배열 : arr 정렬된 배열 : sorted_arr arr의 max 값을 구한다. max+1 길이의 배열 value_count 를 하나 선언한다. value_count 안에는 arr의 값을 index로 하는 곳에 값의 수 만큼 증가시킨다 예) arr 안에 값 3이 5개가 들어있다면 value_count[3] = 5 라는 뜻 value_count 를 for문 돌려 누적 합을 저장한다. value_count = [1,0,3,5,1] 이라면 value_count = [1,1,4,9,10] 이 된다. 여기까지 하고 이해를 돕기위해 예시를 통해 구해진 배열..
IT/알고리즘
다익스트라 알고리즘
다익스트라 알고리즘이란? 그래프에서 꼭짓점 간의 최단 경로를 찾는 알고리즘 한 꼭짓점을 "소스" 꼭짓점으로 고정하고 그래프의 다른 모든 꼭짓점까지의 경로를 찾는 방법으로 변형할 수 있다. 방법 1 (P[A][B]는 A와 B 사이의 거리라고 가정한다) 출발점으로부터의 최단거리를 저장할 배열 d[v]를 만들고, 출발 노드에는 0을, 출발점을 제외한 다른 노드들에는 매우 큰 값 INF를 채워 넣는다. (정말 무한이 아닌, 무한으로 간주될 수 있는 값을 의미한다.) 보통은 최단거리 저장 배열의 이론상 최대값에 맞게 INF를 정한다. 실무에서는 보통 d의 원소 타입에 대한 최대값으로 설정하는 편. 현재 노드를 나타내는 변수 A에 출발 노드의 번호를 저장한다. A로부터 갈 수 있는 임의의 노드 B에 대해, d[A]..
IT/알고리즘
함수의 점근적 분석법
함수의 점근적 분석법 : 문제의 크기(주어진 숫자)가 매우 클 때 내가 만든 알고리즘이 얼마만큼의 계산량을 요구하는가를 분석하는 것 Linear Search와 Binary Search의 비교를 예로 들면 Linear Search :어떤 값을 찾으려고 할 때 앞에서부터 순차적으로 체크하는 것 Binary Search :Array가 sorting 되어있을 때만 사용 가능. 중간값과 찾고자하는 값을 비교해서 중간값보다 찾고자하는 값이 작으면 중간값을 기준으로 왼쪽부분만 검색하면 됨 ⇒n이 증가함에따라 Linear Search 계산량도 증가하지만 Binary Search는 크게 증가하지 않는것으로 보아 이 경우에는 Binary Search가 더 효율적인 알고리즘이라고 볼 수 있다. 알고리즘 분석 알고리즘이 주어..
IT/자료구조
그래프(비선형자료구조)
그래프 데이터사이에 인접한 정보를 저장하는 자료구조 노드와 노드 사이를 연결하는 엣지로 이루어진 자료 구조 방향이 있는 그래프와 방향이 없는 그래프로 구분 1. 방향이 없는 그래프(Undirected Graph) 차수 : 자신의 이웃 개수 서브그래프 : 오리지널 그래프에서 일부 edge와 노드를 구분해서 가져온 것 경로 : 두 개 이상의 노드가 서로 연결된 엣지들의 집합. 간선의 방향이 없으므로 각 노드는 양 방향으로 연결 trivial path : 노드 자신만으로 이루어진 경로 (경로가 0) 단순 경로 (simple path) : 처음과 끝을 제외하고 중복이 없는 경로 사이클 (cycle) : 시작 노드와 끝 노드가 같은 경로 단순 사이클 (simple cycle) : simple path를 만족하고 ..