이지스퍼블리싱에서 만든 Do it! 자료구조와 함께 배우는 알고리즘 입문 이라는 책을 구매한지 일주일이 지난 지금, 이제서야 1장을 보았다.(ㅎㅎ게으른쉑)
첫장인만큼 특별히 어려운 내용들은 없는 것 같다.
이 외에 기본적인 자바 입출력 , if, while, for 문법등이 나와있다.
알고리즘 : 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합. 아무리 명확하게 정의된 알고리즘이라도 변수에 따라 결과가 맞기도 하고 틀리기도 한다면 올바른 알고리즘이라 할 수 없다.
연습문제들도 그냥 타이핑 연습수준이지만 맨 마지막 다중반복문 연습문제는 그래도 풀어보았다. 문제는 주석으로 대충 설명.
import java.util.*;
/*
* 직각이등변삼각형을 출력하는 메서드를 4개 작성한다.
* 왼쪽 아래, 왼쪽 위, 오른쪽 아래, 오른쪽 위가 직각
* 정수 n을 매개변수로 받아 직각을 이루는 두 변의 길이가 n
*/
public class Triangle {
//왼쪽 아래가 직각
static void triangleLB(int n) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
//왼쪽 위가 직각
static void triangleLU(int n) {
for(int i=n;i>=1;i--) {
for(int j=0;j<i;j++) {
System.out.print("*");
}
System.out.println();
}
}
//오른쪽 아래가 직각
static void triangleRB(int n) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
//오른쪽 위가 직각
static void triangleRU(int n) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=i-1;j++) {
System.out.print(" ");
}
for(int j=1;j<=n-i+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void main(String[] args) {
triangleLB(5);
//triangleLU(10);
//triangleRB(5);
//triangleRU(5);
}
}
import java.util.*;
/*
* 정수 n을 입력받아 n단의 피라미드를 출력하는 메서드 작성
*/
public class Pyramid {
static void pyra(int n) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void main(String[] args) {
pyra(5);
}
}
import java.util.*;
/*
* 연습문제 Q16과 비슷한데 숫자로 피라미드를 만드는것.
* i행에 출력하는 숫자는 i%10 으로 구한다.
*/
public class NumPyramid {
static void npyra(int n) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++) {
System.out.print(i%10);
}
System.out.println();
}
}
public static void main(String[] args) {
npyra(5);
}
}