본문 바로가기
728x90

알고리즘23

[프머/java] 콜라츠추측_488의 굴레... 문제는 어렵지않다고 생각했을것이다. 그런데... 왜..때무네..488..???????? 488의 굴레에서 벗어나지못하는.. 하나하나 찍어보았으나 무엇이 문제인지 알수없었다. 하나나 두개가 모자라면 어디서 카운트가 빠졌겠거니..하면서 이해를하겠는데 왜 열두개가 없어..? 결국..알아낸것은 바로 문제자체가 int타입으로 주어진다는 것인데, 보통사람들은 이 num을 그대로 사용해서, 나누거나 곱하고 더했을것이다. 그렇다면 중간에 이런식으로 int타입의 범위를 넘는 숫자가 발생한다. ㅎㅎㅎㅎㅎㅎㅎ 따라서 문제에서 long num으로 바꿔주거나 long타입으로 다른 변수를선언하여 사용해주면 되겠다. 40분을 해멨다. 광고눌러주시면감사합니다 ^^ 2022. 5. 25.
[Queue] 큐 와 덱 사용법과 예제를 알아보자. queue란 사전적 으로는 무엇을 기다리는 사람, 자동차 등의 라는 뜻 FIFO구조 (First In First Out, 선입선출) 그래프의 넓이 우선탐색(BFS)에서 사용한다. 컴퓨터 버퍼에서, 마구 입력되었으나 처리하지못할때 큐를 만들어 대기 시킨다. Enqueue : 큐 맨 뒤에 데이터 추가 Dequeue : 큐 맨 앞쪽의 데이터 삭제 라고 한다. 사용법 import java.util.LinkedList; //import import java.util.Queue; //import Queue queue = new LinkedList(); // 선언 queue.add("data1"); //"data1"을 큐에 추가한다. -> 큐가 꽉차는 상황에서 예외발생시킴 queue.offer("data2"); //.. 2022. 1. 15.
[stack] 스택의 기본 개념과 사용법을 알아보자. stack 이란 자료 구조 중 하나인 Stack의 사전적 정의는 '쌓다', '더미' . 물건을 쌓아 올리듯 데이터를 쌓는 자료구조라고 할수 있다. 특징은 나중에 들어간것이 먼저나오는 (= 선입후출 구조) 형태를 띈다는것. (=Last In First Out) java.util.Stack을 import하면 바로 사용할 수 있다. 그럼 언제 stack을 쓰나요? 그래프의 깊이 우선탐색(DFS)할때 재귀적 함수호출시 사용 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장할때 사용법 import java.util.stack; //임포트하면 스택을 사용할수있다. Stack stack = new Stack(); //int형 스택 선언 stack.push(1); // stack에 값 1 추가 stack.pop(.. 2022. 1. 12.
[프머] 완주하지 못한 선수 42576_ 자바풀이 package pm; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; public class pm42576 { public static void main(String[] args) { // TODO Auto-generated method stub String answer =""; String[] participant = {"k", "i", "e"}; String[] completion = {"k","i"}; //hash사용하기 HashMap map = new HashMap(); //이름의 갯수를 hashmap으로 묶어 체크한다. for(String player:parti.. 2022. 1. 6.
[법칙] 윤년 판별하기 : 그레고리력 윤년법칙 윤년은 역법을 실제 태양년에 맞추기 위해 여분의 하루 또는 월을 끼우는 해입니다. 현재 사용하는 그레고리력의 윤년 규칙은 다음과 같습니다. 서력 기원 연수가 4로 나누어 떨어지는 해는 윤년으로 한다. (1988년, 1992년, 1996년, 2004년, 2008년, 2012년, 2016년, 2020년, 2024년, 2028년, 2032년, 2036년, 2040년, 2044년 ...) 서력 기원 연수가 4, 100으로 나누어 떨어지는 해는 평년으로 한다. (1900년, 2100년, 2200년, 2300년, 2500년...) 서력 기원 연수가 4, 100, 400으로 나누어 떨어지는 해는 윤년으로 둔다. (2000년, 2400년...) 흐름도는 다음과 같다. 이것을 바탕으로 윤년을 판단하는 조건식으로 나타내면.. 2021. 11. 28.
[알고리즘] 02 기본 자료구조 02-1 배열 자료구조 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계를 말한다. 쉽게 말해 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법. 배열 int[] a; //배열의 선언 a= new int[5] //배열의 초기화. a는 길이가 5인 배열을 참조합니다. int[] a = n ew int[] {1,2,3,4,5}; // 선언과 초기화를 동시에. 배열은 같은 형의 구성 요소가 직선모양으로 연속하여 줄지어 있는 단순한 자료구조다. 배열이름[인덱스] 배열이름.clone() //배열의 복사 구성요소가 n개인 배열의 구성요소는 a[0], a[1], a[2].....a[n-1]이다. 배열의 길이 배열이름.length 초기값은 0이며, boolean은 false다. 배열 요소의 최댓값구.. 2021. 11. 26.
728x90