Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 배열, 난수 사용, 최댓값 구하기 n명의 사람 수를 받아오고, 랜덤으로 사람키를 지정해서 최댓값 출력 import java.util.Random; import java.util.Scanner; public class Main{ static int maxOf(int[] a) { int max = a[0]; for (int i = 1; i max) max = a[i]; return max; } public static void main(String[] args) { Random rand = new Random(); Scanner stdIn = new Scanner(Syste..
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 곱셈표 일반 곱셈표 public class Test{ public static void main(String[] args) { for(int i = 1; i1) {System.out.printf("%3d", (i-1)+(j-1));} } System.out.println(); } } } /* | 1 2 3 4 5 6 7 8 9 ---+--------------------------- 1| 2 3 4 5 6 7 8 9 10 2| 3 4 5 6 7 8 9 10 11 3| 4 5 6 7 8 9 10 11 12 4| 5 6 7 8 9 10 11 12 13 5| 6 7 8 9 10 11 12 13 14 6| 7 8 9 10 11..
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 두 자리 양의 정수만 입력받기 import java.util.Scanner; public class Test{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int nc2; System.out.println("두 자리 정수를 입력하세요"); do { System.out.print("입력 : "); nc2 = sc.nextInt(); } while(nc2100); System.out.println("두 자리 정수를 입력하셨습니다."); } } /* 두 자리 정수를 입력하세요 입력 : 5 입력 : 101 입력 : 556 입력 : 5..
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 사전 판단 반복과 사후 판단 반복의 차이점 사전 판단 반복문인 while문과 for문은 처음에 제어식을 평가한 결과가 0이면 루프 본문은 한 번도 실행되지 않는다. 이와 달리 사후 판단 반복문인 do-while문은 루프 본문이 반드시 한 번은 실행된다. 이것이 사전 판단 반복과 사후 판단 반복의 차이점이다. 음수 입력 방지하기 import java.util.Scanner; public class Test{ static int SumFor(int n) { int sum = 0; for(int i = 1; i
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 1부터 n까지 정수 합 while문 import java.util.Scanner; public class Test{ static int SumWile(int n) { int i = 1; int sum = 0; while(i
알고리즘(Algorithm) 알고리즘이란 어떠한 문제를 해결하기 위한 방법이다. 예를 들어 회사에 출근하기 위해서는 "회사에 출근하기"라는 문제를 해결하기 위해 "집에서 회사까지 어떤 이동수단을 타고 어떤 루트로 갈 것이다" 라는 방법을 알고 있어야 한다. 방법은 여러 가지가 있을 것이다. 좋은(효율적인) 방법도 있고 나쁜(비효율적인) 방법도 있을 것이다. 좋은 방법과 나쁜 방법은 어떻게 정할 수 있을까? 예를 들어 회사에 출근하기 위한 좋은 방법을 찾고 있다면 기준을 정해야 한다. 가장 빨리 가는 것이 좋은 방법이라면 전용 헬기를 타고 가거나, 비행기를 타고 가면 될 것이다. 가장 저렴하게 가는 것이 좋은 방법이라면 걸어서 가거나, 대중교통을 이용해서 가면 될 것이다. 이렇게 알고리즘의 좋고, 나쁨을 ..
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 입력 변수 3개, 최댓값, 중앙값, 최솟값 최댓값 static int max(int a, int b, int c) { int max = a; if(b>max)max=b; if(c>max)max=c; return max; } 중앙값 static int mid(int a, int b, int c) { if(a > b) { if(b > c)return b; else if(a > c)return c; else return a; } else if(a>c)return a; else if(b>c)return c; else return b; } 최솟값 static int min(int a, int b, int c) { int min ..
노드 클래스 class Node: def __init__(self, data): self.data = data self.next = None Single Linked List 클래스 class SLL: def __init__(self, data): #생성자 self.head = Node(data) def append(self, data): #노드 추가 current_node = self.head while current_node.next is not None: current_node = current_node.next current_node.next = Node(data) def print(self): #노드 출력 current_node = self.head while current_node is not..