본문 바로가기

코테5

[분할정복] 백준 2447 - 파이썬 의식의 흐름 알고리즘은 문제를 보고 내가 첨에 든 생각들을 끄적인거라 틀린 알고리즘임. 답만 알고 싶다면 최종 알고리즘이나 정답코드만 보면 된다.  백준 2447.https://www.acmicpc.net/problem/2447의식의 흐름 알고리즘쉬울거라 생각하고 도전했는데 이게 엔터가 들어가면서부터 뭔가 꼬인다. 진짜 재귀 문제 풀수록 자괴감 들어............................................머릿속에서 대충 돌아는 가는데 그걸 재귀로 구현하는게 정말 쉽지 않다.특히나 이번문제같은경우는 엔터값도 들어가고 하다보니 더 어려웠음..원래 생각한 방식은 1 ->3->9로 증가하면서 직전단계 패턴을 그대로 복사해서 중간만 비우고 다른칸에다 채우는건데 그렇게 하면 엔터가 자꾸 값으로.. 2024. 10. 26.
[이분탐색] 백준 10816 - 파이썬 의식의 흐름 알고리즘은 문제를 보고 내가 첨에 든 생각들을 끄적인거라 틀린 알고리즘임.답만 알고 싶다면 최종 알고리즘이나 정답코드만 보면 된다. 함께 코테 연습 해봐요!!! 백준 10816.의식의 흐름 알고리즘10815문제와 다른 점은 몇개 가지고 있는지 구하는 것이다.사실 그 문제는 한개 찾으면 바로 함수 탈출하면 그만인데 이건 개수를 다 구해야함.그래도 정렬해놓고 시작할거니까 값이 같을 때 앞뒤로 체크만 하면 되지 않을까 한다. 시간 초과가 날 것 같긴하지만? 일단 생각한대로 풀어본다. 틀린답 (시간초과 30%대)def numbercard(): n = int(input()) nCards = list(map(int, sys.stdin.readline().split())) nCards.s.. 2024. 10. 24.
정렬 알고리즘 - 파이썬 (선택정렬, 버블정렬, 삽입정렬, 병합정렬, 퀵정렬, 계수정렬) 1. 선택정렬제일 앞에서부터 작은 것 부터 채워서 정렬for i in range(len(array)): min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_index], array[i]print(array)   2. 버블정렬인접한 두개끼리 비교하며 작은것을 앞으로 보내어 제일 뒤가 가장 큰 값으로 남게.그러고 다시 남은 배열끼리 비교 반복for i in range(len(array) - 1, 0, -1): # 정렬 범위 줄여 나가기 for j in range(i): if arr.. 2024. 10. 16.
백준 3190 - 파이썬 힌트 및 풀이과정 백준 3190. https://www.acmicpc.net/problem/3190 이 문제를 처음 접했을 때 든 생각은 일단 보드판을 배열로 놓고, 사과의 위치도 1로 설정을 한다. 그리고 뱀 머리랑 꼬리랑 저장한 값을 가지고서..? FIFO인 deque로 풀어야할 것 같다. 였다. 문제1. 이제 머리와 꼬리를 tuple형태로 세트로 저장하는 하는 방식으로 생각을 해봤는데 너무 복잡해졌다. 문제2. 그리고 방향 전환 시 x,y좌표를 어떻게 변동시킬 지 잘 감이 안온다. 3190 문제풀이 힌트 문제1 힌트. 머리 꼬리를 tuple로 하는 것이 아니라 뱀의 머리-꼬리 위치를 보드판 위에 2나 -1과 같은 다른 형태의 숫자로 올린다. 문제2 힌트. 통상적인 좌우로 이동하는 문제를 풀 때 사용하는 [0, 1, .. 2024. 1. 17.