코딩을 하다보면 여러 데이터를 만나게 되고 그 처리과정에서 같은 타입의 데이터로 맞춰주어야 할 필요성을 느끼는 경우가 많다. 가령 문자열로 입력받은 데이터 "1234" 와 숫자로 입력받은 데이터 3의 연산을 위해서 등 현재 데이터의 자료형은 다르지만 연산을 하기위해서라든가, 혹은 같은 자료형으로 취급해서 처리하기 위함등 여러 경우에서 서로 다른 형태의 자료형을 같은 자료형으로 바꾸는 경우가 생긴다. 이런 것을 바로 형변환 즉 캐스팅이라 부르는데 이런 형변환 방법은 크게 두가지로 나뉜다. 1. 묵시적 형변환 자바에서는 데이터의 손실을 최소한으로 하는 방향으로 형변환이 이루어지는데 자료형에 따라 메모리 공간을 더 적게 소모하는 자료형에서 더 많이 소모하는 자료형으로의 형변환은 별도의 형변환의 명시가 없어도 ..
이번 포스팅에서는 자바에서 사용하는 단순 자료형에 대해 다뤄보겠다. 기본적으로 자바는 객체지향언어로서 우리가 사용하는 혹은 생각하는 모든 것들을 객체로서 표현하는것을 지향한다. 이에 따라 그런 표현방식을 갖기위해선 기본적으로 우리가 어떤 사물이나 사고를 표현하기 위한 최소단위가 필요한데 이를 보통 문자나, 숫자, bool 등의 자료형으로 표현하는 것부터 시작이다. 자바에서는 기본자료형으로 이런 것들을 사용할수 있게끔 지원해준다 일단 자바에서는 문자와 문자열을 구분한다. 문자는 char라는 키워드를 사용해 선언을 하며 이때 ' '를 사용하며, 문자열은 String 클래스를 사용해 선언을 하며 " "을 사용한다. 이 외에도 숫자를 표현하기 위해 int, float, double 등의 자료형을 사용하고 정수와..
https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 문제 분석을 하자면 현재 달력의 각 자리수는 m,n 까지 해마다 1씩 증가하다 1로 돌아가는 방식으로 진행이 되고 임의의 자리수가 주어졌을때 몇번째 해인지 구하면 되는 문제이다. 이 문제를 풀때의 아이디어는 m,n의 최소공배수가 곧 달력이 초기화 되는 한 사이클이라는 점이다. 그리고 임의로 주어진 수를 시작점으로 두고 각각 m,n을 더하기를 반복해 임의의 수 a, b가 같아지는 시점이 구하려는 답이된..
최대공약수를 구할 때 사용되는 알고리즘으로 이를 활용한 알고리즘 문제들이 정말 많기 때문에 한번 정리하고 넘어가려 한다. 먼저 참조 문서를 보고 오겠다. 공부할땐 위키백과만한게 없다. https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95 유클리드 호제법 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 ko.wikipedia.org 요약하자면 최대공약수를 구하려는 수 a ,b 가 있다면 (a > b..
이번 포스팅에서는 비선형 자료구조인 트리중 이진트리에 대해 다뤄보겠다. 우선 비선형 자료구조란 무엇인가 정의를 살펴보면, 비순차적인 성질을 지닌 자료들을 표현하는데 적합한 구조. 라고 명시 되어있다. 이런 비선형 자료구조에는 그래프와 트리로 나뉘고 이번에 다룰 이진 트리는 이런 트리의 일종이다. 트리의 정의는 하단의 링크를 참조하도록 하겠다. https://terms.naver.com/entry.naver?docId=2270428&cid=51173&categoryId=51173 트리 트리(tree) 구조는 나무를 뒤집은 모습으로 계층 구조를 표현하기에 적합하다. 계층 구조의 대표적인 예가 회사 또는 대학의 조직도인데 다음은 J 대학의 조직도 일부를 나타낸 것이다. 다음은 [ terms.naver.com ..