본문 바로가기

코딩공부66

구현 유형 알고리즘 정리 구현 유형 알고리즘은 풀이를 생각해내기는 쉽지만 코드로 작성할 시 어려움을 겪는 알고리즘입니다. 시뮬레이션 문제, 완전 탐색 등이 포함됩니다. 알고리즘 대회를 볼 때 2차원 공간에서의 이동 관련 문제를 많이 접했습니다. 시뮬레이션 문제의 N * N 공간에서의 이동을 할 떄 코드입니다. n = int(input()) ## N*N 을 위한 값 n 입력 받음 x, y = 1, 1 ## 처음 위치를 정하기 plans = input().split() ## 입력 값 공백 기준 나누기 dx = [0, 0, -1, 1] ## x, y 위치 이동을 위한 리스트 작성 dy = [-1, 1, 0, 0] ## (0, 1) 면 (1, 2) 이동 y축으로 이동 move_type = ['L', 'R', 'UP', 'DOWN'] #.. 2021. 1. 23.
그리디 알고리즘 정리 현재 상황에서 가장 좋은 선택지를 택하는 알고리즘, 탐욕 알고리즘이라고도 불립니다. 주의할 점으로는 그리디 알고리즘이 최적의 해가 아닌 경우가 있을 수 있어 잘 추론해야 합니다. 그리디 알고리즘를 설명하기 가장 좋은 거스름돈 문제 money = 입력값 count = 0 ##거스름돈 갯수 세기 array =[500, 100, 50, 10] ##거스름돈 리스트화 for coin in array: count += money // coin ## 나눈 몫 money %= coin ## money에 coin 나눈 나머지 큰 금액의 동전인 500원부터 차례대로 계산하면 되기에 그리디 알고리즘을 사용하면 풀리게 됩니다. 동전의 금액이 300원 200원 등 이라면 얘기가 다를 수 있기에 문제를 잘 살펴야합니다. ## 여.. 2021. 1. 22.
람다 표현식 정리 람다 표현식이란 함수를 간단하게 정의할 수 있는 식 형태입니다. 원래 함수 def plus(a, b): return a + b plus(5, 10) --> 15 람다식 lambda a, b: a + b (5, 10) ## lambda 매개변수: return값 (인수) --> 15 ex) array = [(치킨, 16000), (피자, 15000), (족발, 20000)] def my_key(x): return x[1] print(sorted(array, key=my_key)) print(sorted(array, key=lambda x: x[1])) --> [(피자, 15000), (치킨, 16000), (족발, 20000)] [(피자, 15000), (치킨, 16000), (족발, 20000)] 주의 람.. 2021. 1. 19.
리스트 컴프리헨션 정리 파이썬에서의 리스트는 변수명 = [] 로 쉽게 초기화가 가능합니다. 여기서 리스트 컴프리헨션이란? 파이썬에서 리스트를 초기화할 때 대괄호 안 반복문과 조건문을 함께 사용하는 것입니다. 일반적인 코드 array = [] for i in range(10): if i % 2 == 1: array.append(i) ##리스트 삽입 --> [1, 3, 5, 7, 9] 리스트 컴프리헨션 array = [i for i in range(10) if i % 2 == 1] --> [1, 3, 5, 7, 9] 코드가 짧아진 것을 볼 수 있습니다. 알고리즘에 적용해보면 N * M 리스트를 만들 때 array = [[0] * M for _ in range(N)] ## _(언더바)를 사용하는 이유 = 반복문 사용시 반복을 위한 .. 2021. 1. 19.
CSS 정리 CSS란? Cascading Style Sheet 의 약자입니다. 여기서 cascading 은 작은 폭포, 종속 등으로 해서되는데 이는 상위요소의 스타일 요소를 자손요소들에게 상속시키는 모습이 폭포수가 내려가는 모습을 닮았다고 합니다. *우선 순위 Author style -> user style -> browser 선택자 Selectors * universal 모든 곳 tag 태그를 골라냄 #id 해당 id를 골라냄 .class class를 골라냄 : state을 골라냄 [] 속성 attribute를 골라냄 CSS 사용 selector{ 꾸미고 싶은 것(color, width 등) : value; //값// } ex) butten:hover { // 버튼에 마우스를 올리면 바뀜 color: blue; }.. 2020. 7. 22.
HTML 정리 HTML이란? 웹페이지를 구성하는 기본 중에 기본 우리 눈에 보이는 것들이 HTML로 구현되어있습니다. HTML 기초 //이곳에 우리 눈에 보이는 곳 입니다. 글자크기대로 출력 버튼 html에 있는 여러 태그는 https://developer.mozilla.org/ko/사이트에서 확인가능하다. 여러가지 정보도 있다. https://developer.mozilla.org/ko/docs/Web/HTML/Element에서 여러 태그 확인가능 참고 html을 연습할 땐 https://jsbin.com/?html,output 에서 하면 된다. 여기서 되는 것이 웹에 적용했을 때 안될 수 있어 자신의 코드를 구현해보고 싶다면 https://validator.w3.org/ 로 가면 된다. 오류도 볼 수 있다. htt.. 2020. 7. 21.