재귀함수
-
1074.Z알고리즘/백준 BAEK JOON 2020. 8. 15. 17:36
이번에 풀어볼 문제는 백준의 Z이다. 재귀함수를 이용하여 탐색을 하는 문제인데 재귀함수를 잘 활용해야 풀 수 있는 문제이다. 개인적으로 쉬워보이지만 난이도가 상당하다고 느꼈다. 이런 문제를 잘풀어야하는데.. 흑흑.. 1074번: Z 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 �� www.acmicpc.net 이 문제를 푸는 포인트는 두 가지이다. 1. 재귀함수에서 조건을 통해 굳이 확인할 필요없는 탐색 순번은 그 카운트 만큼 더해주고 넘어가기 2. 4등분해서 탐색하되 크기에 상관없이 이러한 탐색이 진행되도로 재귀함수를 짤 수 있어야 한다 ..
-
15686.치킨배달알고리즘/백준 BAEK JOON 2020. 8. 11. 00:43
이번에는 오랜만에 백준의 문제를 풀어보았다. 15686 치킨배달이라는 문제이고 재귀함수 조합에 대한 공부를 하기 좋은 문제 같다. 난이도나 유형은 이전의 요리사와 상당히 비슷한 문제같이 느껴진다. 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 다행이 풀어내는데 성공했고 풀어내면서 느낀점은 설계의 중요성이다. 재귀함수를 두 번 진행했기에 설계를 잘못하면 너무 복잡해지므로 꼭 설계가 끝나기전까지는 코딩하지말자!! 이 문제의 풀이 과정은 다음과 같다. 1. 치킨의 좌표들 중에 M개를 선택하는 ..
-
4012.요리사알고리즘/SW Expert Academy 2020. 8. 6. 22:41
이번에 풀어볼 문제는 SW Expert의 4012번 요리사이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 지금까지 풀었던 SW Expert 문제 중에 문제가 가장 애매하게 출제된 거 같다. 그 이유는 식재료에 대한 중복내용이 없기 때문에 어떻게 풀어아햐는건지 확실하지 않다고 느꼈기 때문이다. 하여튼 간에 문제를 처음 읽어보면 어떤 부분이 애매한지 느낄 수 있을 것이다. 애매한 부분만 빼면 재귀함수를 연습하기에는 괜찮은 문제인 거 같다 => 나는 재귀를 잘못해서 조금 골치아팠다.. 이 문제는 결론적으로 조합 문제이다. 결국 시너지를 만들어 내기 위함인데 두 가지의 조합이 들어가있다. 1. 음식A와 B에 대..
-
2112.보호필름알고리즘/SW Expert Academy 2020. 7. 30. 01:09
이번에 풀어볼 문제는 SW Expert 2112번 보호 필름이다. 거의다 풀었는데 재귀함수 호출 부분에서 실수가 있었다.. 젠장.. 블로그를 뒤져보던 중 운 좋게 가장 비슷한 풀이를 찾았고 참조하였다. 아무것도 넣지않고 테스트하는 것을 재귀에 포함시켜서 진행했어야 했는데 이 부분을 재귀에서 빼고 진행했더니 경우의 수를 제대로 구하지 못했다... 코드 1줄을 추가 했을 뿐인데 정답이 맞았다.. 크흠.... 참고 : https://jongnan.tistory.com/entry/SW-Expert-2112-%EB%B3%B4%ED%98%B8-%ED%95%84%EB%A6%84 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.co..
-
1952.수영장알고리즘/SW Expert Academy 2020. 7. 23. 01:36
이번 문제는 SW Expert 1952 수영장이다. 난이도는 낮은편이다. 하지만 왜인지 아직도 재귀.. 너무 헷갈린다.. 허허.. 집중력이 떨어진거 같다. 다시 열심히 해야겠다..분명 쉬운문제인데.. 흠.. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 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 45 46 47 48 49 50 51 52 53 #pragma warning(disable:4996) #include #..
-
2105.디저트 카페알고리즘/SW Expert Academy 2020. 6. 27. 12:05
이번에 풀어볼 문제는 SW Expert 2105번 디저트 카페이다. 재귀함수를 이용해서 풀면 간단히 풀리지만 중요한건 역시나 설계이다. 어떻게하면 불필요한 계산을 줄일지 고민해보고 풀어야한다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 각 모서리 값은 굳이 탐색을 할 필요가 없다 => 우리가 탐색하는 형태는 마름모 모양이므로 각 모서리는 탐색을 할 수 없다는 것을 인지 2. 항상 탐색의 시작은 아래로만 탐색하면된다. => Point !! => 탐색은 왼쪽에서 오른쪽으로, 윗줄부터 아랫줄로 탐색이 진행되는데 그림을 그려보면 알겠지만 윗줄에서 탐색한 내용들은 전부 아랫줄에서 위로 탐색하는 부분과 일치한다..
-
2115.벌꿀채취알고리즘/SW Expert Academy 2020. 6. 23. 02:02
이번에 풀어볼 문제는 SW Expert의 2115번 문제 벌꿀채취이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 난이도는 쉬운 편인거 같은데 오히려 나의 문제점을 확실히 볼 수 있었다. 문제점은 바로 아직 재귀함수를 제대로 못다루는 것이다. 이 문제는 재귀로 풀 수 있을 것 같았는데 솔직히 재귀로 풀면 설계에 실수해서 시간안에 못 풀 것 같기도 했고 그냥 푸는게 실수도 적을 것 같으면서 더 쉬울 것 같았다.... => 재귀로 다시 풀어 봐야겠다. 이 문제는 나처럼 그냥 시키는대로 풀어도된다. 코딩에 정답은 없다지만 코드의 효율이 좋지 않다는건 실감할 수 있었다. 그 이유 중 하나는 이 문제는 조합으로 풀..
-
1767.프로세서 연결하기알고리즘/SW Expert Academy 2020. 6. 16. 23:37
이번에 풀어볼 문제는 SW Expert의 샘플 문제 1767번 프로세서 연결하기이다. 굉장히 재미있는 문제였던거 같다. 물론 한 번에 못풀었다.. 처음 도전했을 때는 끝에가서 설계를 잘못했다는 걸 깨달았고 다음날 다시 처음부터 풀었다. 항상 말하지만 충분한 생각과 설계가 중요하다. 두 번째 다시 도전했을 때 충분한 생각과 설계 후 한 번에 맞았다. => 한 번에 맞았다는 것과 나의 설계가 맞아서 그런지 기분이 좋다ㅎㅎ SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 나의 설계는 다음과 같다. 1. 벽면에 붙어 있는 Core들은 바로 전원이 연결되기 때문에 탐색에서 제외한다. 2. 나머지 Core들을 탐색하되 가..