[정렬 및 탐색] 백준 2785 (파이썬)
문제가 뭔소린지 처음에 모를 수도 있지만 계속 읽다보면 이해가 간다. 결국 각자 갯수가 다르게 연결된 여러가지 체인들중에서 하나의 체인을 전부 해체해 다른 체인들을 연결하면서 최소한으로 연결을 하는 것이다. 즉, 예를 들어 3, 4, 5, 7, 9 의 체인이 주어졌을 때 - 3인 체인을 해체해 그 3개의 고리를 만들어 4, 5, 7, 9를 연결해준다면? 고리 3개만 필요할 것이다.- 하지만 그렇게 하지않고 3, 4, 5, 7, 9를 정직하게 연결해준다면 고리 4개가 필요할 것이다. 필요한 고리의 최소 개수를 출력한다는 것은 이렇게 체인 하나를 모두 해체해서 남은 체인들의 고리가 되어줬을 때 성립할 수 있다. 내 풀이1) 먼저 입력받은 체인들을 sort해서 오름차순으로 만들어 준다.- 작은 것부터 해체..
[구현] 백준 16505 (python)
몇 달 전에 풀었을 때는 못 풀었는데 오늘은 이상하게 풀렸다;전에는 너무 어렵게 생각했던 것 같고 이번에는 전에 어디선가 이런비슷한 논리의? 문제를 풀었던 것 같아서 재귀함수 돌면서 배열에 추가해주면 된다고 생각했다.(다행히 맞았음^^) 1) stars = [['*']]로 먼저 2차원 배열이 있다고 하자 2) 함수는 하나 만드는데 받아온 2차원 배열을 가지고 가공해서 오른쪽과 아래에 똑같은 배열을 붙인다(?라고 해야하나..)- [['*']]를 받아왔다면 -> [['*', '*'], ['*']]- [['*', '*'], ['*']] 를 받아왔다면 -> [['*', '*', '*', '*'], ['*', ' ', '*', ' '], ['*', '*'], ['*']]=>재귀함수! 3) 위의 함수를 재귀함수로..