본문 바로가기

etc.

[백준 12015번][C] 이진 탐색(Binary Search)을 이용한 LIS(최장 증가 수열) 최장 증가 부분 수열, LIS(Longest Increasing Subsequence)는 임의의 수열에서 몇 개의 수를 제거하여 만든 부분수열 중 오름차순으로 정렬된 가장 긴 수열을 말한다 예를 들어 다음 수열이 주어졌다고 하자. 10 20 10 30 20 50 위 수열에서 몇 개의 수를 제거해 부분수열을 만들 수 있다. 10 10 30 20 (20, 20 제거) 10 30 20 50 (20, 10 제거) 20 10 30 (10, 20, 50 제거) 10 20 50 (10, 30, 20 제거) ... 이들 중 네번째 수열은 오름차순으로 정렬되어 있다. 이를 '증가 부분 수열'이라고 한다. 그리고 이런 증가 부분 수열 중 가장 긴 수열을 '최장 증가 부분 수열 (LIS)'이라 한다. 부분수열 10 20 3.. 더보기
[Python] 클래스의 "self" 개념 클래스 함수를 선언할 때에도 def fun(self[ , .. ]) self가 들어가고 이를 어떻게 이해할 지 모를 수 있다 간단하게 말하면, 클래스에 의해서 생성된 인스턴스를 지칭한다고 할 수 있다 다음 예시를 보자 class Ex: def __init__(self, num): self.num = num 라는 클래스 Ex에 ex1 = Ex(27) 인스턴스 ex1를 이렇게 선언하면 다음과 같이 수행된다 self.num = num self는 ex1이라는 인스턴드를 받게 되므로 다음과 같이 바뀐다 ex1.num = num 그리고 이는 값이 27이므로 다시 다음과 같이 바뀐다 ex1.num = 27 인스턴스와 입력값을 연결해 주는 것이 self이다 지칭의 의미라고 생각하면 이해가 빠를 것이다 더보기
[Python] while문, for문으로 피라미드 출력하기 1) while 문 이용 i = 0 while 1: i += 1 if i > 5: break print(' ' * (5-i), end="") print("*" * (i*2-1)) """ 출력: * *** ***** ******* ********* """ Line 1 - 인덱스 변수 i를 선언한다 Line 2 - i가 5를 넘어가면 빠져나가는, 무한 루프 while 문을 선언한다 Line 5 - 4, 3, 2, 1, 0 으로 줄어드는 만큼 빈칸을 출력한다 후에 , end="" 로 이어서 출력함을 입력해줌 Line 6 - 1, 3, 5, 7, 9 로 늘어나는 만큼 *을 출력한다 2) for 문을 이용 for i in range(1,6): print(' ' * (5 - i), end="") print("*" .. 더보기
코드블럭 이용하는데 A debugging check in this application has failed. 에러가 떠요 코드블럭을 새로 깔아서 이용하려니 다음과 같은 에러창이 뜬다 간단히 경로를 찾지 못했다는 에러다 다음과 같이 project in: 경로를 추가해주면 정상적으로 돌아간다 ! 더보기
파이참 이용하는데 code 9009 에러가 떠요 파이참 홈페이지에서 파이참을 잘 다운받았는데 다음과 같이 에러가 뜬다 Microsoft Store에서 다운을 받아야하나? code 9009 에러가 무엇인가? 이는 python.exe 이 실행이 안 될 때 나오는 에러다 Microsoft Store에서 다운로드를 받아도 되고, 파이썬 홈페이지에서 다운을 받아도 된다 www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org (- stackoverflow.com/questions/1351830/what-does-exited-with-code-9009-mean-during-this-build) 다운받기 안내는 다음 링크에 나와있다 .. 더보기