본문 바로가기

반응형

알고리즘

(11)
백준 1152번 파이썬 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 이거 파이썬으로 풀면 너무 간단함 list로 입력받고 list길이 출력하면 됨 x = list(map(str,input().split())) print(len(x)) map이 입력된 값을 여러 변수에 나누어 담아주는 함수 x,..
백준 2439번 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 5 * ** *** **** ***** 왜 이건 틀리고 n=int(input()) for i in range(n): for j in range(n-i): print(" ",end='') for j in range(i+1): print("*",end='') print() 이건 맞지 n=int(input()) for i in range(1,n+1): print(" "*(n-i)+"*"*i) 지금 술마셔서 좀 헷갈린다 낼 다시봐야지 어제쓴건데 첫번째를 n=int(input()) for i in range(n): for j in range(n-i-1): print("..
시간 복잡도 / Big-O 표기법 시간 복잡도 알고리즘을 만들고 그 알고리즘이 현실에서 사용가능한지 알아보기 위해 시간복잡도를 계산한다. 시간 복잡도(Time Complexity)는 입력의 개수가 n개일 때 알고리즘의 실행 시간을 n에 대한 함수로 표현한다. 최악의 경우 시간 복잡도는 입력의 개수가 n인 모든 가능한 입력에 대한 최대 실행 시간을 말한다. 보통 시간복잡도를 말할 때는 최악의 경우 시간복잡도를 의미한다. 알고리즘은 아주 n의 개수가 아주 많다고 가정하기 때문에 상수는 없는 것으로 취급하고 계수가 가장 큰 함수로 구한다. Big-O 표기법 상수 c와 n0가 존재하며, n≥n0 인 모든 n에 대하여 T(n) ≤ c · f(n)을 만족하면 T(n) = O(f(n))이라고 한다. T(n)=3n^2 + 100n 일 때, f(n)이 ..

반응형