일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 월드프렌즈 ICT 봉사단
- 아부다비
- SWEA
- 초원
- 소프트웨어 아카데미
- 월드프렌즈
- algorithm
- 코로나
- 몽골 헬스장
- 담슈타트
- 칭기스칸 동상
- 헬스
- 게르
- 여행
- 테를지국립공원
- LG글로벌챌린저
- 칭기즈칸
- 울란바토르
- 파이썬
- 백준
- 한 줄로 서기
- 독일
- 교환학생
- 알고리즘
- 몽골 고기
- 몽골
- Python
- 몽골요리
- ICT봉사단
- 테를지
- Today
- Total
목록IT (105)
맛있는물회
처음엔 순열을 사용하려고 구글링을 하여 재귀함수를 사용하였다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #define _CRT_SECURE_NO_WARNINGS #include #include int arr[1000]; int number; int min=9999; void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void makeMin() { int cnt = 0; int sum=0; for (int i = 0; i =0; i--) { swap(&ar..
가장 긴 팰린드롬 찾기 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(Palindrome)이라고 한다. 문제는 이러하다. (출처 - programmers.co.kr/) 처음 봤을때 어떤 알고리즘을 써야하는지 1도 감이 안와서 그냥 무작정 해봤다. 비교할 substring의 길이를 i로 잡고 쭉쭉 늘려가며 막 비교를 해보았다. i를 짝수, 홀수로 나눠서 홀수만 먼저 구현해보았다. 좀 멍청한 방법이지만 그냥 다 비교해봤다. 홀수는 내가 만든 테스트에서는 잘 구현되는 것 처럼 보였다. ㅎㅎㅎ 그다음, 길이가 짝수일때를 구현하려고 하니깐, 너무 막막한거였다. 그래서 다른 사람들의 풀이를 조금 도움받아서 풀어보려고 구글링을 조금 해봤다.ㅎㅎ 먼저 보통 팰린드롬 문제에서 사용하는 알고리즘은 Manacher's algor..
이전에 풀던 알고리즘 문제는 Level 3 이었는데 나한텐 솔직히 좀 꽤 상당히 어려웠다...ㅎㅎㅎㅎㅎ 그래서 level 2로 낮춰서 처음 본 문제가 "124나라의 숫자"라는 문제였다. 문제는 이러하다! (출처 - programmers.co.kr) 쭉 나열해보니 규칙은 생각보다 쉽게 찾게되었다. 근데.... 왜 안댑... 막 계속 해보다가 안되서 힘들었다. 알고리즘 능력이 상당히 떨어지나 보다.ㅎㅎㅎ 더 열심히 해야겠다는 생각이 들었다. 처음에 10진수를 2진수로 만드는 것처럼 재귀함수를 사용해서 해봐야겠다는 생각이었다. 근데 재귀로 하니깐 return 값에 있어서 계속 어긋나는 것이었다.. 계속 고민하다가 저번에 배운 Dynamic Programming이 생각나는 것이었다. 어짜피 1, 2, 4로 표현..
String.substring() 메소드 사용법 String 클래스에는 매우 많은 메소드가 존재한다. 그 중 substring()이라는 문자열을 자를 때 유용하게 사용되는 메소드를 배워보자. substring에는 두가지 생성자가 있다. 첫번째로, 파라미터가 한개인 경우이다. 이경우의 파라미터는 int 형으로 substring하고자 하는 문자열의 앞에서 부터 몇번째 위치인지를 지정하는 값이다. 그렇게 입력받은 파라미터값을 포함하여 그 이후의 모든 문자열을 리턴시키는 것이다. 예를 들어 일때, "llo" 3번째부터 출력하고 싶으면 "l"의 index값인 2를 인자로 넣어주게 되면 출력은 이렇게 나오게 된다. 두번째 경우는 파라미터 값이 두개일때이다. 생성자는 이러하다. 두가지 파라미터는 똑같이 int형 이다..
컴퓨터윤리 컴퓨터학부라는 전공때문에..... (교양인데 ㅎㅎ 과제가 ㅎㅎㅎ 너무.. ㅎㅎㅎ) '컴퓨터 윤리'라는 수업에서 코드끼리 비교를 하여 표절 체크기를 구현하는 과제를 수행했다. 구현방법에 있어서는 그렇게 복잡하지 않았다. Original 코드와 비교 할 코드의 유사도를 측정하는 것이다. 처음에 교수님이 '해시 테이블' 이라는 자료구조를 사용하면 쉽게? 구현 가능하다고 하셨다. 또한 diff 같은 외부 라이브러리 및 툴을 사용하지 않는 범위에서 구현하도록 했다. 해시 테이블이란 간단하게 말하면 데이터를 담을 테이블을 크게 확보한 후 입력받은 데이터를 해시하여 테이블 내의 주소를 계산하고 이 주소에 데이터를 담는 것이라고 할 수 있다. 해시테이블에 대해 아직 확실하게 공부해보고 구현해보지 않아서 잘 ..
뚜둥! CentOS Linux 7 첫 시작 이것이 리눅스다 라는 책을 보면서 공부하는 중이다. 거의 실습위주라서 그런지 지루하지 않고 생각보다 재밌다! 열공~
학교 동아리에서 안드로이드 공부를 하길래 한번 시작해볼까한다. 어짜피 학년이 올라가고 한번쯤은 접해봐야 한다는 것을 알기에 시간날때 미리 공부하면 좋을 것 같다! 글고 안드로이드 공부를 하면 자바 실력이 쑥쑥 는다는 풍문을 들어서 더 열심히 해보려고한다! 강의는 youtube에서 '안드로이드 세뇌교실'이라는 강의를 들으면서 시작하려한다. -강의가 좀 실습위주라서 이론부터 차근차근 배워나가기 보다는 실습을 하면서 하나씩 알아간다는 느낌으로 공부 해보려한다.