일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 테를지국립공원
- 코로나
- Python
- 교환학생
- 울란바토르
- 몽골 헬스장
- 아부다비
- 게르
- 테를지
- LG글로벌챌린저
- 몽골
- 파이썬
- 칭기스칸 동상
- ICT봉사단
- 알고리즘
- 칭기즈칸
- 헬스
- 독일
- 월드프렌즈 ICT 봉사단
- 담슈타트
- 백준
- 한 줄로 서기
- 월드프렌즈
- 초원
- Today
- Total
목록IT/알고리즘 (95)
맛있는물회
처음엔 순열을 사용하려고 구글링을 하여 재귀함수를 사용하였다. 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로 표현..
알고리즘문제를 일주일에 한 두 문제정도 해결해보려고 노력중이다!! 시작이 반이라구.. ㅎㅎ 반이나 해버렸다! 문제는 이렇다. 맨처음 대충 봤을때 점화식이라는 느낌은 왔지만 어떻게 해결하는지 몰랐다. 그래서 n=6일때까지 그려보았다. 홀수,짝수로도 생각해보고 등등 해봤더니 간단하게 solution(n) = solution(n-2) + solution(n-1) 라는 점화식이 나왔다. 근데..왜 채점이 안되는거야..... 이렇게 코드 짜니깐 사이트에서 계속 채점이 안되었다...... 이클립스에서는 잘만 돌아갔는데.. 문득 학교 스터디에서 공부한 Dynamic Programming 에서 비슷한 문제를 푼 경험이 떠올랐다. 그걸 참고해서 다시 코드를 짜보았다. 아주 간단하게 잘 실행되었다. 이해만하면 정말 효율적..