쉬워보이지만, 문제 상황에 맞는 적절한 자료구조를 선택하고 주어진 조건을 모두 적절하게 녹여내야 통과할 수 있었던 문제였다. 결론적으론 파이썬의 heapq를 사용해서 음수를 적용한 최대힙으로 구현에 성공하였음 1. 첫 번째 시도N = int(input()) # 3snow = list(map(int, input().split())) # 각 눈 더미의 높이def cleaning(snow): if sum(snow) > 1440: print(-1) return snow.sort(reverse=True) min = 0 # 치우는 시간 while(len(snow) > 1): # 2개 이상인 경우 snow[0] -= 1 snow[..
전체 글
우선 palindrome을 만드는 조건들을 생각해보자. 1. 짝수 길이의 문자열- 문자열이 짝수 길이일 경우, 각 문자는 짝을 이루어야 함ex) aabb , ccddcc , 1221 과 같이 각각의 문자가 동일한 수만큼 있어야 함 2. 홀수 길이의 문자열- 문자열이 홀수 길이일 경우, 모든 문자는 짝을 이루어야 하지만 중앙에 위치한 '한 문자'만 짝이 없어도 됨ex) aba , abcba , racecar 과 같이 중앙에 있는 문자를 제외하고는 나머지 문자들은 짝을 이뤄야 함 즉, palindrome을 만들기 위해서는...- 짝수 길이의 문자열 : 모든 문자가 짝수 번 등장해야 함- 홀수 길이의 문자열 : 하나의 문자만 홀수 번 등장할 수 있으며, 나머지 문자는 모두 짝수 번 등장해야 함 위 아이디어를 ..
1. 첫 번째 시도S = input()lst = []temp = 1for i in range(len(S)): start, end = 0, temp while(end 입력받은 문자열을 S 라 하고, for문에서 슬라이싱 하는 모든 원소들을 저장할 리스트를 lst라고 하였다.아래 예시와 같이 len(S) 번 만큼 반복하며 슬라이싱 한 문자열을 리스트에 넣는 작업을 하기 위해, start와 end를 동적으로 이용하였음 a[0:1], b[1:2], a, b, c, ab[0:2], ba[1:3], ab, bc, aba[0:3], bab[1:4], abc[2:5], abab, babc, ababc 그리고 채워진 lst에 중복된 원소가 없어야 하므로 list(set(lst))로 중복을 for 루프..
파이썬의 장점으로 itertools와 같은 라이브러리를 불러와서 사용할 수 있지만, 알고리즘적으로 순수 구현해보려고 한다. 파이썬에서 순열과 조합을 직접 구현하는 방법은 주로 DFS(깊이 우선 탐색) 기반으로 작성된다.* 순열은 순서가 중요한 경우, 조합은 순서가 중요하지 않은 경우를 의미 1. 순열 (Permutation)- 순열은 주어진 리스트에서 순서대로 나열하는 모든 경우의 수를 생성 1. 빈 리스트에서 시작하여, 각 단계에서 아직 사용하지 않은 요소를 하나씩 선택해 추가2. 요소를 선택할 때마다 그 요소를 제외한 나머지 요소들로 계속해서 탐색을 진행3. 길이가 n인 리스트에서 n개의 요소를 모두 선택했을 때, 해당 경우의 수를 완성 def perm(arr): result = [] de..
원래는 나도 유료판을 사용하고 있었지만 개인용에 한해서 pro가 무료로 풀렸다고 하길래 재설치를 해보려고 했다 그런데 기존에는 vmware 사이트에 들어가면 바로 다운로드 받을 수 있었던 vmware가 알고보니 반도체 기업인 broadcom이 vmware 회사를 인수하게 되면서 사이트 자체가 없어져버림(?)영구 라이선스 판매를 중지하고 연간 1년 단위 구독 서비스로 변경되었다고 한다.그 대신에 개인 사용자가 무료로 사용할 수 있도록 변경되었다 (이미 정품을 사용하던 나는....^*^ㅎ 사이트는 바로 broadcom으로 변환이 되어 이젠 해당 사이트에서 다운로드를 받아야 하는데 이게 매우매우 복잡해짐 절차가 매우 많고 귀찮지만,,, 일단 인내심을 갖고 아래 단계를 따라해보면 설치 가능합니다! 1. bro..
·JAVA
이클립스(Eclipse)는 무료로 사용할 수 있는 오픈 소스 통합 개발 환경(IDE)이다.자바 개발을 위해 이클립스를 설치해보도록 하자~ 1. 이클립스 설치먼저 아래 사이트에 들어가기https://www.eclipse.org/downloads/ Eclipse Downloads | The Eclipse FoundationThe Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks.www.eclipse.org 그럼 위와 같은 화면이 나오는데, 일반 사람들은 좌측 하단의 Download x..