본문 바로가기

프로그래밍/자바(JAVA)

[자바] 유클리드 알고리즘(최대공약수 찾기) 유클리드 알고리즘(최대공약수 찾기) 최대 공약수란 최대공약수(GCD : Greatest Common divisor)는 고대 그리스의 수학자인 유클리드에 의해서 발견되었다. 최대 공약수란 주어진 두정수의 약수 중에서 가장큰 공통이 되는 약수를 말한다. 50 : 1, 2, 5, 10, 25, 50 20 : 1, 2, 4, 5, 10, 20 이두 정수의 공통되는 것은 1,2,4,10 이며 가장큰것 10이 최대 공약수가 되는것이다. 기본적으로 중학교때 배운 과정에서는 소인수분해를 하여서 최대공약수, 최대 공배수를 구할수 있다. 기본적인 이해는 끝이 났으니 유클리드의 알고리즘에 대해 알아보자. 유클리드의 알고리즘은 최대공약수의 성질을 이용하여 뺄셈과 두 값의 교환이라는 기본적인 동작으로만 최대 공약수를 구할 수 .. 더보기
[자바] 프로그래머의 십계명 프로그래머의 십계명 그냥 가슴짠한, 어느정도 공감가는 이야기더라구요.. 1. 정보모음에 소홀히 하지 말고 설명서를 읽음에 게을리 하지 말지어다. 오늘 필요 없는 정보는 내일 필요하리라. 가장 가치 있고도 저렴한 지식은 책 속에 있느니라. 서점과 동료의 책꽂이에 무엇이 꽂혀 있는지 때때로 살피어라. 무심코 흘렸던 종이 한 장이 너의 근심을 풀어 주었으리라. 설명서는 충분히, 꼼꼼히 읽을지어다. 모든 의문은 설명서를 안 보는데서 생기니라. 그렇더라도 모두 다 읽을 필요는 없느니라. 많은 정보가 능사는 아니니라. 정보의 가치를 찾는 법부터 배우라. 세상엔 너무나 많은 자료와 정보가 넘쳐난다. 알알이 모두 끌어 모을 생각을 하기 보단 정보를 하나로 꿰는 법부터 먼저 배우는것이 너의 근심에서 쉽게 벋어나게 하는 .. 더보기
[자바] 달력프로그램 알고리즘에 대해.. 달력프로그램 알고리즘에 대해.. 실제 달력을 출력하기는 매우 쉽습니다. 간단한 프로그램이긴 하지만, 코드로 짜려면 꽤 길것으로 생각되기때문에 방법만 설명 드리지요... 달력을 만들때는 기준일을 언제로 잡을 것인가가 관건입니다. 이건 차후에 생각하기로 하구요. 먼저 직관적으로 달력을 분석합니다. 달력으로 프린트 될수 있는 경우는 모두 몇가지 경우가 있을까요? 그달이 큰달인 경우 31일까지 있을 것이고, 작은달인경우 30일 혹은 28일, 29일까지 있을 것이니까 모두 4가지 경우가 있겠군요.. 그리고, 각 달의 첫째 날이 일요일부터 토요일까지 일수 있으니까 7가지의 경우가 나옵니다. 그렇다면 앞의 4가지 경우에 7가지 경우를 곱해서 28가지 경우를 만들어 놓는다면 모든 달력을 표현할 수 있습니다.(예를들어 .. 더보기
[자바/JAVA]자바 성적 관리 프로그램 인데요.. 주석좀 달아서 설명해주세요..ㅠ 자바 성적 관리 프로그램 인데요.. 주석좀 달아서 설명해주세요..ㅠ 속성으로 배우라고, 교수님이 내주신 소슨데;; 당최 뭐가 뭔 소린지...ㅠㅜ 이제겨우 사칙연산 겨우겨우 이해하나 싶었는데, 또다른...ㅠ 소스에 주석과 함께 왜 이런가 설명도 좀 곁들여주시면 감사하겠습니다.. 꾸벅..ㅠㅜ 흑... import java.io.*;public class Score { public static void main(String args[]) { int intMenu = 0; boolean boolFlag = true; String strItem[] = new String[7]; String strName=""; int intValue[] = new int[5]; double doubleAvg = 0; strIte.. 더보기
[자바 질문] 자바배열에 관해서 질문이 있습니다. 자바배열에 관해서 질문이 있습니다. import java.util.StringTokenizer;public class StringToken { public static void main(String[] args) { String text = "To be or not to be"; //StringTokenizer st = new StringTokenizer(text); StringTokenizer sa = new StringTokenizer(text, " "); String[] subStr = new String[sa.countTokens()]; System.out.println(subStr); for (int i=0; i 더보기
[자바 질문] 자바 문제좀 풀어주세요!! 자바 문제좀 풀어주세요!! 요즘 자바 공부중인데 요아래 3문제가 애매하더라구요 ㅠㅠ 빠른, 정확한 답변기다릴께요.. 1.아래에 프로그램의 실행결과와 프로그램을 나타내었다. 이 프로그램은 실행시 3개의 매개변수를 입력으로 받아 다음과 가은 실행결과를 나타내고있다. 프로그램의 박스 부분에 적합한 내용을 기술하시오. 실행결과 c:>java IfTest 10 + 20결과는 : 30입니다c:>java IfTest 10 - 20결과는 : -10입니다c:>java IfTest 10 $ 20올바른 연산자가 아닙니다c:>java IfTest 10 -인수의 개수가 올바르지 않습니다 public class IfTest { public static void main(String args[]){ if () { // 실행시 입력.. 더보기
[자바 질문] 자바 가비지 콜렉션 질문드립니다. 자바 가비지 콜렉션 질문드립니다. 아래와 같은 소스가 있습니다.public class Tahiti {Tahiti t;public static void main(String[] args) {Tahiti t = new Tahiti();Tahiti t2 = t.go(t);t2 = null;// 프로그램이 이곳에 도달 했을때 // 몇 개의 객체가 가비지 콜렉터에 의해 수집이 가능한지 // more code here...}Tahiti go(Tahiti t) {Tahiti t1 = new Tahiti();Tahiti t2 = new Tahiti();t1.t = t2;t2.t = t1;t.t = t2;return t1;}} 질문이 저 빨간색인데답은 0개라고 하는데 저는 왜 0개가 되는지 잘 모르겠습니다.t2 에 nu.. 더보기
[자바/JAVA] 자바 - 피라미드 만들기 + 모래시계 만들기 소스 자바 - 피라미드 만들기 + 모래시계 만들기 소스 import java.io.*; class Pyramid{ public static void main(String[] args) throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int num = 0; System.out.print("숫자 입력: "); num = Integer.parseInt(in.readLine()); for(int i = 0; i < num; i++){ for(int j = 0; j < num - i; j++){ System.out.print(" "); } for(int k = 0; k < i*2 + .. 더보기