코딩테스트 공부/코딩테스트 알고리즘 이론 (5) 썸네일형 리스트형 [리스트 원소를 한 줄로 출력] result=['a', 'd', 'k', 'k', '9'] 다음과 같은 list의 원소들을 한 줄로 출력하는 방법은 2가지가 있다. 1. ''.join() 함수 이용하기 ' print('>'.join(result)) #'이 안에 각 원소 사이 들어갈 문자열을 입력하면 된다. ' 2. end = ' ' 이용하기 for i in range(len(result)): print(result[i],end='>') #'이 안에 각 원소 뒤에 붙을 문자열을 입력하면 된다.' 두 방법의 결과물 : 1. a>d>k>k>9 2. a>d>k>k>9> [data.isalpha() :data가 문자인지 아닌지?] result=['a', 'd', 'k', 'k', '15'] 위와 같은 리스트가 있을 때 result의 각 원소가 문자인지 아닌지를 알아보자. 나는 처음에 isalpha()라는 함수를 몰랐어서 ord() 함수를 이용해서 문제를 풀었었다. - https://hanyangsw.tistory.com/23?category=1018122 "문자를 숫자로 차례대로 바꾸고 싶을 때" 참조 for i in range(len(result)): if ord(result[i]) [문자를 순서대로 숫자로? a->1 , b->2] a는 1로 b는 2로 .... 이 순서대로 바꾸고 싶다면 if 문을 써서 문자 a를 만나면 1이다, b를 만나면 2다 .... 처럼 할 수도 있지만 ord('알파벳') 함수를 쓰면 쉽게 바꿀 수 있다. print(ord('a')) print(ord('A')) 위 코드의 결과로 다음과 같이 나온다. 97 65 따라서 소문자 a를 1로 바꾸는 기준으로 원하는 알파벳을 숫자로 바꾸고 싶다면 다음과 같이 실행시키면된다 # print(ord('원하는 알파벳')-ord('a')+1) print(ord('c')-ord('a')+1) 실행결과 : 3 알파벳,숫자,한글 모두 위와 같이 바꿀 수 있다. print('0:',ord('0')) print('1:',ord('1')) print('9:',ord('9')) prin.. 코딩테스트 알고리즘 종류 [문제유형] 그리디 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 구현 완전탐색 : 모든 경우의 수를 주저없이 다 계산 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계식 차례대로 직접 수행 DFS/BFS [복잡도] 1.시간 : 연산 횟수 1초에 2000만 번~ 1억 번 정도의 연산 처리 가능 ex) N= 1000000 -> O(NlogN) = 2000만 번 공간 : 메모리 양 [자료구조]우선순위 큐(Priority Queue)와 힙(Heap) 백준 1715번 문제를 풀다가 "우선 순위 큐(Priority Queue)"에 대해 알게 되었고 우선순위 큐를 구현하기 위해 파이썬의 heapq 모듈 사용 중 heapq.heappush 하는 과정이 이해가 가지 않아서 이를 계기로 '나동빈'님의 영상을 보게 되었습니다. import heapq #heap 라이브러리 importheap_list = []iterable =[3,5,9,6,4] for value in iterable : heapq.heappush(heap_list,value) #heap 라이브러리의 heappush 함수를 이용해서 iterable의 원소를 heap_list에 추가 print(heap_list) 위의 코드는 파이썬에서 heap 라이브러리를 import하고 heapq.heappu.. 이전 1 다음