목록Develop (44)
ROKO
baekjun에서 알고리즘 문제를 풀다가 리스트를 슬라이싱해 값을 대입하기 위해 코드를 구현했다. (10810번) import sys N, M = map(int, sys.stdin.readline().strip().split()) array = [0 for x in range(N)] for i in range(M): s,e,n = map(int, sys.stdin.readline().strip().split()) array[s-1:e] = n print(*array) 그 결과 Traceback (most recent call last): File "/Users/keonwoo-ro/Desktop/baekjun/Stage/Array_1/10810.py", line 9, in array[s-1:e] = n T..
Python에서 list를 정렬하는 방식은 LIST.sort() 와 sorted(LIST) 2가지 방식이 있다. 두개의 차이점은 무엇이고 어떤것이 더 효율적일까? LIST.sort() 우선 LIST.sort()는 리스트 메서드로 inplace형식이다. 실행한 list자체가 값이 수정되므로 return 값이 None이다. list1 = [4, 3, 2, 1] list2 = list1.sort() print(list1) # [1, 2, 3, 4] print(list2) # None sorted(LIST) sorted는 python 표준 내장 함수로 inplace형식이 아니라 정렬된 새로운 객체를 반환한다. list1 = [4, 3, 2, 1] list2 = sorted(list1) print(list1) #..
baekjun이나 google의 코딩테스트 사이트인 hackearth에서 나는 주로 python을 이용했다. 물론 코딩테스트 관점에서 좋은 언어 선택은 아니다. (모든 언어를 다룰 수 있다는 전제하에) Why? python은 생산성과 다양한 기능을 하는대신 최적화에는 알맞지 않다. C++, C가 최고 python은 다양한 역할군에 쓰이지 않는 언어이다. 물론 요기요도 일부 python구현이 있다고는 하나 한국은 java기반의 언어가 대부분이다. python은 대체로 AI 분야에서 사용되는 언어이다. (본인은 AI의 길을 걷고자 하기에...) 따라서 복잡하고 세밀한 설계가 필요한 알고리즘 문제일 경우 input()을 사용함에 따라 시간 초과가 생길수도 있는데, 이를 해결하기 위해 import sys inp..
Numpy docs [link] 어떠한 값을 확인하려 print()문을 많이 사용하는데, shape크기가 클 경우 "..." 형태로 생략이 되는 경우가 많다. 억지로라도 전체 출력을 통해 값을 확인하고 싶은 경우 어떻게 해야 할까? numpy.set_printoptions() numpy.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None, sign=None, floatmode=None, *, legacy=None) 위 명령어를 사용하면 된다. 설정을 수정하는 명령어인데, parameter를 통해 어디까지 출력하게 ..
트렌드나 알고싶은 CS내용을 쉽고 잘 알려주는 사이트들의 링크를 모아놓았다. 지극히 개인적인 기준으로 모아놓았으니 하나씩 확인해보고 괜찮은 블로그나 사이트가 있다면 공유하면 좋을것 같다. https://yozm.wishket.com/magazine/ 요즘 사람들의 IT 매거진, 요즘IT매일 업데이트되는 요즘 사람들의 IT 이야기! 개발, 디자인, 기획, 다양한 IT 콘텐츠와 함께 성장해보세요.yozm.wishket.comhttp://scimonitors.com Science MonitorAI, Quantum Computing Science & Technology Magazinescimonitors.comhttps://labs.brandi.co.kr WE ARE BRANDI브랜드(Brand)와 나(I)를 ..
web 이나 app 개발에 입문하기 시작하면 다양한 용어들이 쏟아져 나오기 시작한다. 그 중 front-end 부분에서 html, css, js를 처음보게 될텐데, html 을 markup language라고 부른다. html \(\rightarrow\) hyper text markup language 또 용어를 찾다보면 markdown이라는 언어도 나오는데 이 둘의 차이점은 무엇일까? markup language는 programming language가 아니다 From wiki 마크업 언어(markup 言語, markup language)는 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지이다. 태그는 원래 텍스트와는 별도로 원고의 교정부호와 주석을 표현하기 위한 것이었으나 용도가 점..
IDE 와 Editor의 차이가 무엇일까? 프로그래밍을 하려면 어떤 언어를 쓸 것인지 정해야 한다. 그리고 어떤 에디터를 이용해 사용해 개발할 것인지 정해야 하는데, 여기서 크게 IDE와 Editor로 나뉜다. IDE (Integrate Development Equipment) 통합 개발 환경이라고 부르며 일반적으로 사용하는 많은 개발 툴들을 이미 가지고 있는 환경이다. 많은 기능들이 탑재되어있어 대규모 개발 프로젝트시 용이하다. 예시 : visual studio, Android Studio, Pycharm, Eclipse Editor 필요한 기능마다 사용자가 따로 설치해줘야 한다. 설치 시 버전과 호환성도 사용자가 고려하여야 한다. 필요한 기능만 설치를 하니 소규모 프로젝트를 할때 용이하다. 사실 개발..
numpy나 torch 같은 경우 쉽게 type을 변경 할 수 있다. 하지만 python list에서 type을 변경해야 하는 상황이라면 어떻게 해야할까? map(function, variable) 을 사용하자. x = ['1','2','3','4','5'] print(list(map(float, x))) list()로 감싸지 않을 경우 map type의 객체가 출력되므로 자료구조형으로 감싸주어 출력하자. 다른 방법으론 list comprehension을 사용할 수 있다. x = ['1','2','3','4','5'] x = [float(i) for i in x] print(x) list comprehension은 loop뒤에 조건문을 추가하여 데이터 정제도 가능하다. 장점은 간편하게 표현할 수 있다는 ..
모름지기 컴퓨터전공에 조금이라도 발을 들였다면 IDE 나 editor를 사용하게 될 것이다. 현재 flow를 확인하고 싶거나 error를 확인하고 싶을때 내 코드를 분석할 수 있어야 하는데 그 대표적인 방법 중 하나가 디버깅이다. print문이 꼭 필요한게 아닌이상 print() + exit() 조합은 이제 자제 하도록 하자.. 사용 방법은 아래 링크를 통해 알 수 있다. https://code.visualstudio.com/docs/editor/debugging Debugging in Visual Studio Code One of the great things in Visual Studio Code is debugging support. Set breakpoints, step-in, inspect va..
python 에서 데이터를 읽고 쓸때 구분자 처리를 해야하는 경우가 많다. 만약 없애야 할 구분자가 여러가지라면 어떻게 해야할까? 우리의 목표를 잘 생각해보자. 구분자가 무엇이든 상관없이 구분자들을 중심으로 잘 분리만 해주면 된다. 보통 구분자 처리는 split()함수를 사용하는데 하나의 구분자 밖에 해결하지 못하는 한계가 있다. 그렇다면 아래와 같은 방법을 사용하면 어떨까. 모든 구분자를 하나로 통일 통일한 구분자를 중심으로 split() 함수 사용 x = "123,23.432$012" x = x.replace('.', ',').replace('$',',') x = x.split(',') print(x) Generalization 만약 구분자가 10000개 이상이라면 replace를 하드코딩으로 100..