[백준 10818 | python3 | 1차원 배열] 1. 최소, 최대
Q) N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력) 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 5 20 10 35 30 7 출력) 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 7 35 1. python 내장 함수로 풀기 1) sort() 사용 2) max(), min() 사용 2. 배열 이용해서 풀기
[python3 | 알고리즘] 15. 문자열 조작(그룹 애너그램)
[조건] 문자열 배열을 받아 애너그램 단위로 그룹핑하기 ** 애너그램 : 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것 [입력] ["eat", "tea", "tan", "ate", "nat", "bat"] [출력] [ ["ate", "eat", "tea"], ["nat", "tan"]. ["bat"] ] 1. 정렬, 딕셔너리 사용 strs = ["eat", "tea", "tan", "ate", "nat", "bat"] def groupAnagrams(self, strs: List[str]) -> List[List[str]]: #딕셔너리 정의 anagrams = collections.defaultdict(list) for word in strs: #정렬해서 딕셔너리에 추가 anagrams[''.joi..
[python3 | 알고리즘] 13. 문자열 조작(로그파일 재정렬)
[조건] 1) 로그 가장 앞 부분은 식별자 2) 문자로 구성된 로그가 숫자 로그보다 앞으로 3) 식별자는 순서에 영향을 주진 않지만, 문자가 동일할 경우 식별자 순으로 함 4) 숫자 로그는 입력 순으로 한다. [입력] logs = ["dig1 8 1 5 1", "let1 art can", "dig2 3 6", "let2 own kit dig", "let3 art zero"] [출력] ["let1 art can", "let3 art zero", "let2 own kit dig", "dig1 8 1 5 1", "dig2 3 6"] 1. 람다 + 연산자 이용 - 문자 vs 숫자 구분 def reorderLogFiles(self, logs: List[str]) -> List[str]: letters, digit..