본문 바로가기

반응형

전체 글

Python 정렬하기 - list 참고자료는 여기입니다. python의 리스트는 .sort() 메소드를 이용해서 정렬할 수 있다. 단, 이 때의 정렬은 제자리 정렬로 호출한 원본 리스트의 내부 원소들의 순서를 바꾸게 된다. 실제로 메모리 사용량을 극히 제한하는 특수한 상황이 아니면 제자리 정렬보다는 sorted 함수를 이용하는 것이 더 안전하다. 1. 역순으로 정렬하기 sort함수나 sorted 함수에서 reverse 파라미터에 True값을 주면 가능하다. 2. 정렬 조건 적용하기 정렬하고자 하는 연속열이 단순히 숫자값이나 문자열이라면 sorted 함수는 크기순 혹은 사전순으로 정렬한다. 별도의 정렬기준을 사용해야 할 필요가 있을 때는 key 파라미터를 사용하여 정렬 기준이 되는 값을 정할 수 있다. 예를 들어, 어떤 학생들의 리스트를 .. 더보기
Python 자료형 공부 - dictionary 딕셔너리(Dictionary): key를 통해 value를 얻는 자료구조 1. 딕셔너리 함수 1-1. keys: 딕셔너리의 a의 key만 모아 dict_keys 객체를 리턴한다. a = ["A": "a", "B", "b"] print(a.keys()) 리스트를 사용하는 것과 차이가 없지만 리스트 고유함수는 수행할 수 없다. a.keys()에 list 추가시 리스트 반환이 가능하다. arr = list(a.keys()) 1-2. items: key, value 의 튜플로 묶은 값을 dict_items 객체로 돌려준다. 1-3. in: 딕셔너리 안에 요소가 있는지 조사 할 수 있다. 2. 딕서너리에서 Key를 사용해 Value 얻기 a = {'name':'pey', 'phone':'0119993323', '.. 더보기
Python 자료형 공부 2 - array Python3으로 코딩테스트를 진행하던 중, 잦은 버그가 발생하는 부분과 기억해야할 팁들을 위주로 정리해보고자 한다. 1. 2차원 배열 선언 w = 3 h = 5 Matrix = [[0 for x in range(w)] for y in range(h)] 위와 같이 혹은 다음 아래와 같이 선언이 가능하다. h = 5 Matrix = [[0] * w for i in range(h)] 그러나, Matrix = [[0] * n] * n 위와 같이 선언하게 되면, 각 행은 서로의 행을 복사하였기 때문에 우리가 원하는대로 배열을 사용하기 어렵다. 예를 들면, 1행의 값을 변경시키면 나머지 2 ~ n 행 모두 같은 값으로 변경이 된다. 2. 리스트 값 추가 리스트는 append 메소드를 이용하여 값을 추가할 수 있다.. 더보기
Spring 공부 - 초기 설정 1. pom.xml Maven 은 자바 프로젝트의 빌드를 자동화해주는 빌드 툴이다. 즉, 자바 소스를 compile 하고 package 해서 deploy하는 일을 자동화 해주는 것이다. Maven 은 settings.xml 과 pom.xml 두 가지 설정파일을 참조한다. settings.xml은 maven tool 자체에 관련된 설정을 담당한다. Maven 자체에 설정 값을 바꾸는 일은 잘 없으므로 우리가 주목해야 할 설정파일은 pom.xml이다. POM(Project Object Model)을 설정하는 파일인 pom.xml은 다시 말하자면 프로젝트 내 빌드 옵션을 설정하는 부분이다. pom.xml을 살펴보자. webapp Maven 프로젝트를 설정했다면 태그가 생성되었을 것이다. 각 태그가 의미하는 바.. 더보기
서블릿이란 자바 웹 어플리케이션을 공부하며, 다소 헷갈렸던 개념 + 중요한 개념 등을 기록해보고자 한다. 우선 자바 웹 어플리케이션(Java Web Application)은 WAS(예: 톰캣)에 설치되어 동작하는 어플리케이션을 말한다. 자바 웹 어플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet, package, interface 등), 각종 설정 파일 등이 포함된다. 이 중, 서블릿이란 자바 웹 어플리케이션 구성요소 중 동적인 처리를 하는 프로그램의 역할을 말하며, 다시 말하면 WAS에 동작하는 JAVA클래스인것이다. 현재 프로젝트에서 웹을 개발할 때 서블릿을 직접 쓰기보다는, 다양한 프레임워크를 사용해서 개발하는 경우가 많다. 다만, 그 프레임워크의 동작을 이해하기 위해서는 서블릿의.. 더보기
Python 입력값 저장하기 input 함수 사용하기 x = input() x = input('문자열을 입력하세요: ') 1번과 같이 지정할 경우, 입력 값이 변수 x에 저장하게 된다. 2번과 같이 지정할 경우, '문자열을 입력하세요: ' 처럼 안내문구가 먼저 나오고, 사용자가 입력한 값이 x에 배정된다. 입력 값을 정수로 변환하기 입력받은 문자열을 숫자(정수)로 만들어주어야 합니다. 변수 = int(input()) or 변수 = int(input('prompt>> ;)) 다음과 같은 방법을 사용하여 입력 값을 정수로 변환할 수 있습니다. 두 숫자의 합 구하기 이번에는, 숫자를 두 개 입력받아서 두 숫자의 합을 구해보는 예제입니다. a, b = input('숫자 두 개 입력하세요: ').split.. 더보기
Python 자료구조 공부 - List(Stack, Queue) 참고 자료는 여기 입니다. 리스트 자료 형은 여러가지 메소드를 갖고 있습니다. 이 리스트를 Stack, Queue 로 사용하는 방법에 대해서 알려드리겠습니다. 리스트를 스택으로 사용하기 리스트 메서드들은 리스트를 스택으로 사용하기 쉽게 만드는데, 마지막에 넣은 요소가 마지막에 나오는 LIFO 원리입니다. 스택의 꼭대기에 항목을 넣으려면 append() 를 사용하고, 스택의 꼭대기에서 값을 꺼낼 때는 pop()을 사용하면 됩니다. stack = [3, 4, 5] stack.append(6) stack.append(7) 다음과 같이 입력 후, stack 을 출력하면 [3, 4, 5, 6, 7]이 나옵니다. 이후에, stack.pop() 이용시 맨 마지막에 있는 '7' 이 출력됩니다. 리스트를 큐로 사용하기 .. 더보기
Java Priority Queue 사용하기 - Comparable interface 우선순위 큐(Priority Queue)란, 선입선출 구조가 아닌, 우선순위가 가장 높은 데이터가 먼저 나오게 됩니다. Java에서 우선순위 큐를 이용하는 방법을 예제와 함께 알아봅시다. 제가 PriorityQueue를 사용한 이유는 다익스트라 알고리즘에서 거리 정보중 최단 거리를 갖고 있는 위치 정보를 가져와야 하기 때문이죠. 그렇다면 위치정보와 동시에 거리정보를 가지고 있는 새 객체를 만들고, 이 객체를 PriorityQueue의 에 할당하면 됩니다. 1. 우선순위 큐 선언 static PriorityQueue prq; prq = new PriorityQueue(); 2. 위치정보와 거리정보를 지닌 Point 객체 생성 class Point implements Comparable { int i, j;.. 더보기

반응형