IT&컴퓨터공학
-
[11] 심화 정렬 ( SORT )IT&컴퓨터공학/자료구조&알고리즘 2020. 6. 25. 23:42
분할 정복법(divide and conquer) : Merge Sort, Quick Sort 분할 : 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 정복 : 각각의 작은 문제를 순환적으로해결 Merge Sort Merge ( 합병 ) : 작은 문제의 해를 합해서 원래 문제에 대한 해를 구함 // 합병정렬 public class sort_1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); // 배열 크기 int[] arr = new int[n]; for(int i =0; i
-
[9] 순환함수 ( 재귀함수 ) - JAVA 를 이용한 이미지 블럭의 사이즈 구하기IT&컴퓨터공학/자료구조&알고리즘 2020. 6. 22. 18:26
public class counting { static int alreadyCount =2; // alreadyCount : 이미 count 한 이미지 픽셀 static int size =8; // image 의 크기는 size X size static int cnt =0; // 카운트 수 ( 정답 ) public static void main(String[] args) { int[][] image = { // 0 은 빈칸, 1은 pixel {1,0,0,0,0,0,1,0}, {0,1,1,0,0,0,0,0}, {1,1,0,0,0,1,0,0}, {0,0,0,0,1,0,1,0}, {0,0,0,0,0,1,0,0}, {0,1,0,0,0,1,0,1}, {0,1,0,0,0,1,0,1}, {1,1,1,0,1,0,1,1..
-
[08] 순환함수 ( 재귀함수 ) - JAVA로 미로찾기 문제 구현IT&컴퓨터공학/자료구조&알고리즘 2020. 6. 22. 17:13
public class maze { static int size = 8; // 미로는 size X size 크기 static int visited =2; // visited : 방문한 길 표시 static int cannot =3; // cannot : 막혀있는 길 표시 -> 동서남북 다 보더라도 벽이거나 왔던 길밖에 없어서 새로운 길로 가지 못하는 경우 public static void main(String[] args) { int[][] maze= { // 0은 길, 1은 벽 {0,0,0,0,1,0,0,1}, {0,1,1,0,1,1,0,1}, {0,0,0,1,0,0,0,1}, {0,1,0,0,1,1,0,0}, {0,1,1,1,0,0,1,1}, {0,1,0,0,0,1,0,1}, {0,0,0,1,0,0,..
-
[07] 순환 ( Recursion ) 이란?IT&컴퓨터공학/자료구조&알고리즘 2020. 6. 19. 22:47
Recursion ( 순환 ) 함수 : 자기 자신을 호출하는 함수. 재귀함수라고도 한다. void function(){ ..... function(); // 이런식으로 ! ...... } public static void main(String [] args){ function(); // 결과 : Hello ! 무한 반복 루프 } void function(){ System.out.println("Hello !"); function(); } 재귀함수를 위처럼 아무 조건없이 짜면, 무한루프에 빠진다. 따라서 우리는 재귀함수가 무한 루프에 빠지지 않도록 조건을 지정해줘야함. public static void main(String [] args){ function(4); // 결과 : Hello ! 4번 } vo..
-
[JAVASCRIPT]8. null 과 undefined 의 차이점IT&컴퓨터공학/Javascript 2020. 4. 13. 22:10
undefined : 컴퓨터가 임의로 할당해준 빈 값 var num console.log(num) // undefined : 이것도 일종의 값이다. // 값을 안넣을 수도 있는것임 ! -> 나중에 넣어주면 된다. // 컴퓨터가 기본적으로 정해준값임 . 처음에 아예 할당이 안된 변수 null : 내가 고의적으로 비워준 빈 값 var num = null console.log(num) // null : 이것도 일종의 값이다. // 값을 안넣을 수도 있는것임 ! -> 나중에 넣어주면 된다. // undefined 보다 무조건 null 을 쓰는걸 추천한다. // 컴퓨터가 기억하고있는 값을 지울때 null 을 넣으면 이건 내가 고의적으로 지운것임 참고 var num ='' console.log(num) // " "..
-
[javascript]7. 객체 지향 프로그래밍이란 ?IT&컴퓨터공학/Javascript 2020. 4. 12. 18:00
객체 지향 프로그래밍 ( Object Oriented Programming : OOP ) 설계를 잘하는법 : 현실을 잘 반영해야함. 그러나 그 현실의 복잡합이 모두 필요한 것은 아니다. 따라서 '추상화' 를 잘해야함. 프로그래밍적으로 잘 추상화 시켜서 현실을 잘 반영해야한다. 객체 var person = {} // 중괄호를 열고 닫으면 객체를 생성하는 것임 : object person.name = 'egoing'; //name 은 property(속성) , egoing 은 value person.introduce = function(){ return 'My name is '+this.name; //this 는 person 이라는 객체를 가르킨다. } document.write(person.introduc..
-
[JAVASCRIPT]6. arguments 란?IT&컴퓨터공학/Javascript 2020. 4. 12. 15:56
함수에는 arguments 라는 변수에 담긴 숨겨진 유사 배열이 있다. function sum(){ var i, _sum = 0; for(i = 0; i 인자를 뜻하는 변수 document.write(i+' : '+arguments[i]+' '); _sum += arguments[i]; } return _sum; } document.write('result : ' + sum(1,2,3,4)); // 인자 4개 전달 //자바스크립트는 아주 융통성이 좋아서 //함수에 파라미터가 없더라도 인자를 여러 개 넣을 수 있다.