알고리즘/알고리즘(Java)

00. 시작하기, 준비하기

산을좋아한라쯔 2015. 3. 13. 21:46
반응형

여기서는 소소한 알고리즘 문제들을 다룰 것이다.

 

소소하다는 것은, 일반적으로 대학의 알고리즘 수업에서 다루는 체계적이면서 무거운 알고리즘이 아니라, 실제 프로그래밍을 하다가 접하게되는, 혹은 친구들끼지 내는 수학 수수께끼같은 문제들을 다룬다는 것을 말한다.

해서, 다루어지는 문제들이 체계는 없을지라도, 재밋고 때때로 실제 프로그래밍에 유용하게 쓰일 수 있는 문제들이 나올 것이다...

--> 하다보니 대학 혹은 대학원에서 배우는 무거운 알고리즘도 다루게 되어 버렸음...^^

 

준비해야할 것

문제들은 대부분 손으로만 풀 수 있는 것이 아니고, 프로그래밍을 해야하는 것이라서, 프로그래밍 개발환경을 구축해야한다.

언어는, Java를 사용하는 것을 가정하겠다. 따라서, Java프로그래밍할 준비를 해야한다.

 

Java개발환경 구축

1. JDK 설치

http://www.oracle.com/technetwork/java/javase/downloads/index.html 에서 적당한 버전을 다운받아 설치한다.

  -최신일 필요없음. 1.6이상이면 족함

  - 예전 자바책을 보면, 환경변수로 classpath, path를 잡으라고 하는데, 할 필요 없음. Eclipse를 사용할것이기에

  - 설치폴더는 직접지정해서, c:\jdk1.6 처럼 간단하게 만들것

 

2. Eclipse 설치

https://www.eclipse.org/downloads/ 에서 Eclipse IDE for Java Developer를 다운받아 설치

  - 다운받은 zip파일을 압축해제하는 것으로 설치 끝

  - 설치폴더(=압축해제 폴더)의 이름은 c:\eclipse 처럼 간단하게 할것

알고리즘 문제들은 복잡한 GUI를 사용하지 않고, 대부분 콘솔 베이스의 입력과 출력을 이용한다. (버튼 등이 있는 그래픽베이스가 아닌, 텍스트로 입력/출력만 되는 형태)

따라서, 아래 설명되는 코드처럼 정형화된 포맷이 존재하고, 이 포맷에서 해당 알고리즘에 해당하는 부분만 코딩해서 실행시키면 될 것이다.

 

 

알고리즘 구현 및 테스트용, 전형적인 프로그램 코드

public class 클래스명{

public 클래스명(){ //생성자

doTest();

}

 

private void doTest(){

...

}

 

public static void main(String[] args){

new 클래스명();

}

}

 

위 전형적인 프로그램 코드를 보면 동작되는 순서는,  main -> 생성자 -> doTest 순이다.

 

프로그램의 시작은 main메서드에서부터 시작된다.

main메서드 안을 보면, 클래스의 인스턴스를 만든다. (클래스명은 실제 코딩시에 적당한 영문명으로 수정할것)

인스턴스가 만들어질 때는 해당 클래스의 생성자가 실행된다. 즉, 위 코드에서는 //생성자라고 커멘트되어 있는 메서드.

 

생성자 메서드에서는 doTest()를 호출했다. doTest는 우리가 짜려고하는 코드가 들어가게 될 것이다.

 

이제, 위에서 설명한 형태대로 Eclipse에서 프로그램 코드를 짜보자.

 

1. Eclipse 실행

2. Package Explorer에서 마우스 우클릭: New/Java Projcet

   - Project name: AlgorithmEx

   - 'Finish'버튼 누른다.

3. src폴더를 누르고, 마우스 우클릭: New/package

    - Name: sample

    - Finish 버튼 누른다.

4. sample 선택하고, 마우스 우클릭: New/Class

    - Name: SampleClass

    - "public static void main(String[] args)" 체크

    - Finish 버튼 누른다.

   

 

5. 위와 같이 했을 때 나온 SampleClass.java 파일을, 아래와 같이 되도록 코딩

package sample;

 

public class SampleClass {

 

       public SampleClass(){

             doTest();

       }

      

       private void doTest(){

             System.out.println("Hello!");

       }

      

       public static void main(String[] args) {

             new SampleClass(); 

       } 

}

 

6. 작성한 코드를 저장하고(Ctrl-S), 실행(Ctrl-F11)

   - Eclipse의 하단부 Console윈도우에 Hello! 라는 문구 표출되면 성공

 

다음장부터는 실제 알고리즘문제를, 위에서 설명한 코딩포맷을 근간으로해서, 짜보도록 하겠다.

 

-끝-

 

 

반응형