본문 바로가기

전체 글

(28)
리액트(REACT) - 간단한 todolist 만들어보기 2048 개발중 벽에 막혀서 간단하게 다른걸 한번 만들어보려한다 기본 틀은 이런느낌이다. 일단 전체 코드는 이렇다 실행시켜보면 이렇다 이제 reducer을 작성해보자 todoData 안에는 content,data,done 여부를 넣어줄 예정이다. 이제 버튼을 누르면 todoData에 데이터를 넣어주게끔 해보자 일단 input과 button을 으로 묶어주고 button type을 button으로 해줬다. 왜 button 타입을 button으로 설정해줘야하는거지? 했는데 설정하지 않으면 기본값으로 submit이 설정되어버린다. 그리고 input 창에 들어오는 값을 setTodo를 통해 todo값으로 설정해줬다. 다음으로 버튼을 누르면 todoData에 값을 넣어주는걸 구현해보자 버튼에 onClick을 넣고 ..
2048 개발기 (2) 다음으로 방향키를 누르면 요소들을 이동시켜주기 위해 위와 같이 코드를 작성했다 잘 동작한다 이제 console.log 부분에 동작할 함수를 넣어줘보자 dispatch로 타입을 넣어주고 일단 x가 숫자를 만나면 index를 콘솔에 찍게끔 해보았다 런타임 에러가 발생한다 tableData를 읽어오는데서 문제가 생긴 모양이다 오류난 줄을 살펴보니 뜬금없이 Table 리턴하는 부분에서 tableData를 읽어오지 못한다고 한다 const에서 var로 바꿔주니깐 동작한다. 왜지? const로도 써줬는데 돌아간다... 뭐가 문제였을까 return state를 안해줘서 그런가보다 이렇게 고쳐주니 잘 동작한다 이유는 모르겠다.. 다른 키 눌렀을때도 동작하도록 했다 근데 저런식으로 작성하면 같은 줄일때 겹쳐버려서 코드를..
2048 개발기 일단 4x4 테이블을 만들어보자 뭐지? 제대로 한것같았는데 보니깐 인자부분을 {} 로 안감싸줬다 고쳤는데도 안뜬다... 이럴땐 개발자도구에서 html을 살펴보자 원래 table 밑에 tr이랑 td가 떠야하는데 안뜬다 이건 아무래도 하위 컴포넌트 쪽에서 문제가 생긴거같다 콘솔로그를 찍어봤는데 잘 찍힌다. 이부분은 문제가 없단 소리고... 이부분에서 아무것도 찍히지 않는다. 여기가 문제라는 소리다 보니깐 map (() =>{} ) 을 map (() =>()) 로 바꿔주니 해결됐다... 왜지? 원하는대로 틀이 잘 나온다 다음으론 첫 시작시 랜덤으로 두군데에 숫자가 나오게 해주자. 25%확률로 4가 나오게도 해보자 먼저 랜덤한 위치를 선정하는 함수를 만들어줬다 그다음엔 reducer을 통해 x,y 값을 넣어주려..
파이썬 컨벤션 이란 컨벤션이란 일종의 스타일 관례를 말한다 같음을 확인하기 #나쁜 코드 if attr == True: print 'True' if attr == None: print 'none' #좋은 코드 if attr: #값이 존재하는가 print 'attr is truthy!' if not attr: #값이 없는가 print 'attr is falsey' if attr is True: #값이 참인가 print 'attr is true' if attr is None: #값이 none인가 print 'attr is none' 리스트 다루기 #4보다 큰수만 남기기 a = [3,4,5] b = [i for i in a if a>4] #lambda b = filter(lambda x: x>4, a)
*arg와 *kwargs *agr 활용법 def print_tur(*arg): #인자를 여러개 입력받아 튜플 형태로 저장 return arg print(print_tur(1,2,3)) //출력값 : (1, 2, 3) *kwargs 활용법 def name(**kwargs): return kwargs #딕셔너리로 출력 print(name(name="su")) //출력값 : {'name': 'su'}
백준 - 11279 최대 힙 문제 설명 0이 들어오면 힙 속 최대값을 출력하고, 그 외의 입력은 힙에 값을 추가하는 문제 코드 구상 들어오는 숫자를 -로 만들고 최소 힙 구하듯 만든다. 코드 import heapq import sys n = int(sys.stdin.readline()) heap = [] for _ in range(n): x = int(sys.stdin.readline()) if(x==0): if len(heap)==0: print(0) else: result = heapq.heappop(heap) print(result[1]) else: heapq.heappush(heap,(-x,x))
백준 - 최소힙 1927 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 설명 0이 나오면 힙속 가장 작은 값을 출력하고, 그외 입력을 받는다면 힙에 넣기 코드 구성 파이썬의 heapq를 이용하면 간편하게 구현가능 코드 #1927 최소힙 import heapq import sys n = int(sys.stdin.readline()) heap = [] for _ in range(n): x = int(sys.stdin.readline()) if(x..
백준 - 스택 수열 1874 https://www.acmicpc.net/problem/1874 문제 해석 위 예제처럼 n이 8로 주어졌다고 할때, 1~8를 pop과 push를 이용해 입력으로 들어온 값과 같은 순서로 정렬하면 되는 문제다. 이때 push는 +로, pop은 -로 출력한다. 위 예제처럼 4가 들어오면 빈 리스트에 1,2,3,4 까지 push를 이용해 리스트에 넣어주면 [1,2,3,4]가 된다. 여기서 4를 pop하면 [1,2,3]이 되고, 그 다음으로 입력받은 값은 3이므로 pop하면 [1,2]... 이런식으로 진행하면 된다. 다만 여기서 주의해야 하는 경우는 불가능한 경우인데, 아래 예제를 한번 보며 설명해보려 한다. 일단 1를 push 하고 pop 한다. 2도 push하고 pop 하면된다. 이 다음 5를 입력받았으므..

반응형