일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 한 줄로 서기
- SWEA
- 몽골 헬스장
- 게르
- 테를지국립공원
- algorithm
- 몽골요리
- 월드프렌즈
- ICT봉사단
- 담슈타트
- 여행
- 독일
- 몽골 고기
- 초원
- 아부다비
- 알고리즘
- 헬스
- 코로나
- LG글로벌챌린저
- 교환학생
- 칭기즈칸
- 백준
- 월드프렌즈 ICT 봉사단
- 파이썬
- 소프트웨어 아카데미
- 몽골
- Python
- 칭기스칸 동상
- 울란바토르
- 테를지
- Today
- Total
목록IT (105)
맛있는물회
공부하다가 잘 이해가 안가는 부분이어서 카페에 질문 글을 올리려고 글을 쓰다가 이해했다!!ㅎㅎㅎ 처음 궁금했던 것은 "입력하고 싶은값이 있을때 Scanner input= new Scanner(System.in)이라고 하면 scanner를 통해 입력하는 값이 system.in 을 통해서 컴퓨터로 입력이 되는 거잖아요?근데 자바에서 파일을 읽어올때도 scanner 를 쓰더라구요. 예를 들어 src폴더에 clients.txt라는 파일을 읽어 오고 싶을 때 Scanner input= new Scanner(Paths.get("clients.txt") 를 사용하여System.out.printf("%s",input.next()) 라고 하면 clients.txt 파일의 첫줄이 읽어지더라구요.제가 궁금한건 컴퓨터로 입력..
배열 타입이 String 일때를 알아보겠다. 1. String은 C에서와는 다르게 클래스이기 때문에 참조형 변수로서 선언된다. 참조형 변수의 기본값은 null이므로 초기화를 하지 않았을 때 각 요소의 값은 null로 초기화 된다. 2. 특별히 초기화 할 때 String 클래스만 "KIM"과 같이 간략히 표현하는 것이 허용된다. 원래 String은 클래스이므로 new 연산자를 통해 객체를 생성해야한다. String[] name = new String[3]; name[0] = new String("KIM"); 둘다 가능 name[0] = "KIM"; 3. char[] hex = { 'C', 'A', 'F', 'E'}; System.out.println( "hex:" + new String(hex)); 와 같..
기말고사 내용 따라가려면 부지런히 해야겠다. 언제 객체 다하고 쓰레드로 넘어갈지.. ㅠㅠ 오늘은 배열 뒷부분을 다 봤다. 배열의 활용 부분에서 '총합과 평균', '최대값 최소값', 'shuffle', '임의의 값으로 배열 채우기' 등은 c에서 배운 부분과 매우 유사하기 때문에 모르는 부분만 정리하겠다. 01. java.lang 에 있는 Math class의 Math.random함수는 double값을 리턴하기 때문에 int에 저장할때 (int)이렇게 형변환을 해주어야한다. -> int n = (int)(Math.random() *10); ==0~9중의 한 값을 임의로 얻는다. 02. System.out.print(numArr[i] = (int)(Math.random() * 10); 처럼 프린트문 안에서 초..
자바를 공부한지 2달 정도 된것같다. 수업내용말고 따로 공부하는 것을 한번 정리해봐야 겠다. C를 공부했었기 때문에 비슷한 내용은 제외하고 자바만의 특성이나 내가 몰랐던 것들만 적어 봐야겠다. 1. 선언방법 ㅇ타입[] 변수이름; (int[] score; String[] name;) ㅇ타입 변수이름[]; (int score[]; String name[];) 내가 보는 책의 저자는 대괄호가 변수이름의 일부라기보다는 타입의 일부라고 보기때문에 대괄호를 타입에 붙이는 쪽을 선호한다고 한다. 배열을 선언한 다음 배열을 생성해야한다. 여기서 배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 주소값 즉 참조변수를 위한 공간이 만들어 질뿐이다. 그래서 다시 배열을 생성해줘야한다. 여기서 쓰이는 연산자는 'new'이..
자료구조 Stack을 공부하던중 Stack을 활용한 계산기 프로그램을 배우고 있었다. 그 코드안에 memset 이라는 처음 보는 함수가 있어서 한번 정리하고 넘어가 보려고 한다. visual studio에서 memset함수의 정의로 들어가면 나오는 내용이다. 보고 한번에 이해하면 다행이지만 나는 못했기때문에... 더 찾아봐서 이해하게 되었다. ㅇ memset함수는 어떤 메모리의 시작점부터 연속된 범위를 어떤 값으로(바이트 단위) 모두 지정하고 싶을 때 사용하는 함수이다. - Dst은 메모리의 시작 주소를 의미한다. - val는 메모리에 채우고자 하는 값을 의미한다. - Size은 채우고자 하는 메모리의 크기를 의미한다. Dst로 전달된 주소의 메모리서부터 Size 바이트를 Val의 값으로 채운다! mem..
1. 시간복잡도(Time Complexity)와 공간복잡도(Space Complexity) ㅇ속도에 해당하는 알고리즘의 수행시간 분석결과를 가리켜 -->'시간복잡도' 라고 한다. -> 연산의 횟수를 세어서 T(n)을 구성한다. 보통 n의 증가 및 감소에 따른 T(n)의 변화 정도를 나타낸다. O(I) - 상수형 빅오. 연산횟수가 고정인 유형의 알고리즘. O(3)라도 O(I)라고 표현한다. O(logn) - 데이터 수의 증가율에 비해 연산횟수의 증가율이 훨씬 낮은 바람직한 유형의 알고리즘. O(n) - 데이터 수와 연산횟수가 비례 O(nlogn) - 선형로그형 빅오. 데이터가 두 배로 늘때 연산횟수는 두배를 조금 넘게 증가. 알고리즘 중 이에 해당하는 알고리즘이 적지 않다. O(n^2) - 이중으로 중첩된..
알고리즘문제를 일주일에 한 두 문제정도 해결해보려고 노력중이다!! 시작이 반이라구.. ㅎㅎ 반이나 해버렸다! 문제는 이렇다. 맨처음 대충 봤을때 점화식이라는 느낌은 왔지만 어떻게 해결하는지 몰랐다. 그래서 n=6일때까지 그려보았다. 홀수,짝수로도 생각해보고 등등 해봤더니 간단하게 solution(n) = solution(n-2) + solution(n-1) 라는 점화식이 나왔다. 근데..왜 채점이 안되는거야..... 이렇게 코드 짜니깐 사이트에서 계속 채점이 안되었다...... 이클립스에서는 잘만 돌아갔는데.. 문득 학교 스터디에서 공부한 Dynamic Programming 에서 비슷한 문제를 푼 경험이 떠올랐다. 그걸 참고해서 다시 코드를 짜보았다. 아주 간단하게 잘 실행되었다. 이해만하면 정말 효율적..