자바는 많은 사람들이 알다시피 썬 마이크로시스템즈라는 회사에서 발표한 회사이다. 1995년에 첫 등장을 하게 된것이다. 1991년에 썬 마이크로시스템즈 엔지니어들이 가전제품에 사용할 목적으로 고안한 언어라고 한다... 지금 os 엔지니어도 대단하지만 당시 os 엔지니어 역시 감탄하게 되는 실력이다. 인터넷이 등장할때에 인터넷에서 많이 사용되는 프로그래밍언어로 각광을 받았다. 자바가 첫등장한 해인 95년도 당시 window 개발이 주류가 되었기에 자바는 C++ 언어에 밀리게 된다고 한다. 리눅스 , Window와 같은 대표적인 os는 c와 어셈블리어로 구현되었다고 알고 있다. (c는 적은 리소스에 비해 높은 성능...) 자바는 c에 비해 메모리나 cpu를 많이 요하기 때문에 os 언어로는 채택되지 못했다...
IT관련 학과를 전공했지만, 정작 프로그래밍 언어가 무엇인지 본질적으로 살펴본적이 없다. 프로그래밍 언어의 본질적인 정의는 인간과 컴퓨터의 중간 역할을 하는 언어이다. 기계어 : 0 또는 1 사람 : 한국어, 영어, 중국어.. 등등 0 또는 1 boolean과 같은 논리적 데이터 타입을 기계가 좋아한다... (전기적 신호로 받아들이기 위함) 반대로 사람은 이런 전기적 신호 보다는 어떠한 논리적인 명령어를 통해 자신이 원하는 퍼포먼스를 보여주길 원한다. 이런 논리적으로 표현된 문장을 기계입장에선 받아들이기 힘든 문자인 것이다. 기계와 사람이 동시에 받아들일 수 있는 언어가 필요해 프로그래밍 언어가 등장하게 되었다. 프로그래밍 언어는 크게 저급언어와 고급언어로 나뉜다. 이러한 분류가 생긴 이유는 간단하다. ..
자기 자신을 호출하는 함수인 재귀 함수를 코딩 문제를 풀다가 접하게 되었다. 학부생 시절에 배웠던 기억이 난다. 바이너리 트리가 담고 있는 데이터들을 전부 출력 해주는 부분이었다. 이진트리 데이터들을 출력해주는 print_tree()라는 어떠한 함수를 만들었으면 root노드의 정보를 파라미터로 받아 root노드의 기점으로 왼쪽부터 이후, 오른쪽 노드들의 데이터를 출력해주는 구조로 기억한다. 위 사진대로라면 root 노드인 'A' 노드를 파라미터로 아래와 같이 함수를 호출한다. print_tree('A'); 이후, A노드를 기점으로 왼쪽 노드인 'B'노드를 파라미터로 또 해당함수를 아래와 같이 호출한다. print_tree('B'); 또 B노드를 기점으로 'D' 노드를 호출한다. 여기서 중요한것은 D노드는..
import java.io.IOException; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int cnt = sc.nextInt(); double x1,y1,r1; double x2,y2,r2; double dist=0; double r=0; double dr=0; int ret=0; for(int i =0 ; ir){ ret=0; } else if(dist==r){ //4 ret=1; } else if(dist==dr){ //3 ret=1; } else if(dist
import java.io.IOException; import java.util.*; public class Main { public static double w=0; public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); double r = sc.nextInt() ; double ret; ret= r*r*2; r = pfm(r); // System.out.println(Math.round(r*1000000)/1000000.0); // System.out.println(Math.round(ret*100)/100.0); System.out.println(String.format("%.6f"..
import java.io.IOException; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int max =0; int[] num = new int[3]; int idx =0 ; double sum=0; while(true){ //escape condition 0,0,0 num[0]=sc.nextInt(); num[1]=sc.nextInt(); num[2]=sc.nextInt(); if(num[0]==0&&num[1]==0&&num[2]==0){ break; } for(int i=0; i
find last rectengle point 5 5 5 7 7 5 ans: 7 7 x y 30 20 10 10 10 20 ans : 30 10 first, load the number. then, find diffrent number from values of x. and y too. case 1. 5 5 7 2. 5 7 5 3. 7 5 5 import java.io.IOException; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int ret_x=0; int ret_y=0; int[] x = new ..