
이 모양이 나오도록 2차원 배열 활용하기 풀이 IDEA * 열이 증가하고 -> 행이 증가하고 / 또는, 열이 감소하고 -> 행이 감소하고 ... => 이 논리가 한 세트가 될 수 있다. * 이 두 개가 하나의 쌍으로 동작한다. * 한 번 반복 할 때마다 방향이 바뀌어야 한다. ** 방향 바꾸는 가장 간편한 방법이 switch를 이용하는 것! (변수 선언해서 활용하는 방법이겠지.) *** 이 sw는 부호를 바꾸는 역할만 수행하면 된다. 즉 열이 증가하고 -> 행이 증가하고 // 스위치 // 열이 감소하고 -> 행이 감소하고 이 로직. 반복 횟수를 나타내는 변수 k도 선언해서, k--;를 반복이 끝날 때마다 해주고, k==0 이 되면 break. 그런데 이 세트가 왜 가운데에 있는가? 열과 행이 하나의 세트..
정리하자면, 피라미드와 다이아몬드는 일종의 idea가 꽤 필요한 작업이다. 피라미드 public class MakeStar04Sample { public static void main(String[] args) { /* 일단 피라미드를 그리려면 모양을 쪼개서 살펴보자 왼쪽 직각삼각형과 오른쪽 직각삼각형 혹은 가운데를 기준으로 왼쪽과 오른쪽에 하나씩 더 찍어주면, 완성이 된다 뭐 요런 느낌으로다가. */ //4.피라미드 for (int i = 0; i = 0; j--) { // 4 3 2 1 0 if (i < j) { //4 3 2 1 / 4 3 2 /4 3 / 4 System.out.print(" "); } else { //0..

수업시간에 다룬 예제 첫번째 코드 for(int i = 0;i 2번째 반복 완료 후 a[0] : 6 / a[1] : 8 / a[2] : 2 / a[3] : 4 / a[4] : 5 i = 2일 때 j = 0 이면 2 / 6 이므로 swap / 2 8 6 4 5 j = 1 이면 6 / 8 이므로 swap / 2 6 8 4 5 j = 2 이면 8 / 8 이므로 그대로 j = 3 이면 8 / 4 이므로 그대로 j = 4 이면 8 / 5 이므로 그대로 => 3번째 반복 완료 후 a[0] : 2 / a[1] : 6 / a[2] : 8 / a[3] : 4 / a[4] : 5 i = 3일 때 j = 0 이면 4 / 2 이므로 그대로 j = 1 이면 4 / 6 이므로 swap / 2 4 8 6 5 j = 2 이면 6 /..

선택 정렬 얘를 오름차순 정렬을 한다고 하면, 절차 1. 지금 내가 찾을 자리를 정한다.(맨 왼쪽을 찾는다고 가정하면) 2. 일단 가장 작은 수를 찾는다.(아무것도 하지 않고) 3. 가장 작은 수인 9를 찾았다. 그렇다면 13과 swap. 9의 위치는 고정 4. 다음 자리의 수인 46을 기준으로 오른쪽에 있는 수 중에서 가장 작은 수를 찾는다. 5. 13을 발견했으면, 대소비교 후 작은 수인 13과 swap 한다. 13의 위치는 고정. 6. 세 번째, 네 번째, 마지막 자릿수까지 동일한 방식으로 비교하고 swap하고 고정한다. . ----------------- 그런데 수업시간에 다룬 코드 첫번째에서는 하나의 기준을 잡고 모든 걸 다 비교하는 코드다. for(int i = 0;i 13이 더 작아서 그대로..
소스코드 public class Q2 { static String inputString() { Scanner sc = new Scanner(System.in); System.out.print("문자열 입력하세요 : "); return sc.next(); } static int inputNum() { Scanner sc = new Scanner(System.in); System.out.print("1. 짝수 2 홀수 : "); return sc.nextInt(); } static void printHJ(int num,String str) { for(int i = num-1;i
소스코 package Day13; import java.util.Scanner; public class Q1 { static int[] input() { Scanner sc = new Scanner(System.in); int[] score = new int[3]; System.out.print("국어 : "); score[0]= sc.nextInt(); System.out.print("영어 : "); score[1] = sc.nextInt(); System.out.print("수학 : "); score[2] = sc.nextInt(); return score; } static double avgOP(int[] score) { return (score[0]+score[1]+score[2])/3.0; //..
1. Call by Value 값에 의한 호출이라고도 하며, 함수 호출 시 인자로 값을 전달한다. 함수 내부에서 인자 값이 변경되어도 호출한 쪽에는 영향을 주지 않는다.. 호출한 쪽에서 전달한 값의 복사본이 함수 내부에서 사용되기 때문이다. 2. Call by Reference 참조에 의한 호출이라고도 하며, 함수 호출 시 인자로 변수의 주소를 전달한다. 함수 내부에서 인자 값이 변경되면 호출한 쪽에서도 그 변경된 값이 반영된다. 호출한 쪽에서 전달한 변수의 주소가 함수 내부에서 사용되기 때문이다. Call by Value 예시코드 Void abc(int a){ a = 10; } public static void main(String[] args) { int a = 5; abc(a); System.out..
소스코드 package Day12; import java.util.Random; public class Q3 { // 주고 안받고 static int makeRandom() { Random r = new Random(); return r.nextInt(26); } // 주고 받고 static int intSum(int r) { return 65 + r; } // 주고 받고 static char makeChar(int result) { return (char)result; } // 안주고 안받고 static void run() { String result = ""; for(int i = 0;i