목록코딩 (24)
코학다식
문제 링크 Solution 처음에는 양수 배열과 음수 배열로 나누어서 이분 탐색을 실행하는 걸 고민해 봤는데, 번거로운 것 같고 다른 방법이 있을 것 같아 다른 방법을 찾다 절댓값으로 정렬해서 이웃한 두 수를 더하는 방법을 사용했다. 이 방법을 사용하면 모두 양수인 경우, 모두 음수인 경우도 쉽게 해결할 수 있다. 대충 봤을 때 값이 꽤 커 보이기에 모든 변수를 long long으로 선언해 줬다. +) C++의 sort 함수는 정말 자주 유용하게 쓰이는 것 같다. code #include #include #include #include using namespace std; vector ans; bool cmp (const long long a, const long long b) { if (abs(a) =..
Java 시작하기(5) Object Oriented Programming(2): classes, variables, and methods Final 인스턴스 변수 인스턴스 변수가 final 키워드를 사용해서 선언되었다면, 그 변수의 값은 생성자 안에서만 결정될 수 있다. class Employee { private final String name; public Employee() { this.name = "Kim"; } public void setName(String name){ this.name = name; // Error: cannot assign a value to a final instance variable } } Static 변수 클래스를 정의할 때, 변수는 static 변수로 정의될 수 있..
Java 시작하기(4) Object Oriented Programming(1): classes, variables, and methods 자바, 객체 지향(Object-oriented) 언어 자바에서 대부분의 변수와 리터럴은 객체(Object)이다. 객체는 클래스의 인스턴스(instance)이다. 클래스는 객체의 타입이라고 할 수 있다. class Employee { String name; public void setName(String name) { this.name = name; } public String getName() { return name; } } public class LEC { public static void main(String[] args) { Employee m = new Emp..
소스 코드 이미지 파일로 만들기 :: Carbon 생활코딩 같은 곳에 (위의 사진처럼) 소스 코드가 맥 같은 테마에 쓰여서 예쁘게 이미지로 올라와 있는 걸 볼 때마다 어떻게 할 수 있는 건지 궁금했는데, 얼마 전에야 알았다. 맥에만 있는 기능 같은 건 줄 알았더니 한 사이트를 이용하면 할 수 있는 것이었다. 여기에서 아주 쉽게 예쁜 소스 코드가 담긴 이미지를 만들 수 있다. 트윗으로도 올릴 수 있는 모양이다. 위에 링크된 주소에 접속하면 이런 화면이 뜨는데, 파레트 모양의 탭에서 원하는 테마를 고르고 그 옆의 탭에서 언어를 고르면 된다. 바로 아래 창에 코드를 쓰고 Export를 클릭하면 이미지로 저장할 수 있다! 코드 블럭을 사용하는 것에 비해 좀 번거롭지만 보기 좋으니 다양하게 쓸 수 있을 것 같다.
Java 시작하기 (3) 자바 프로그래밍 기초(2) 변수들 자바의 기본 문법은 C/C++과 매우 유사하다. 변수 정의 package FirstProgram; import java.util.Random; public class VariableDefinition { public static void main(String[] args){ int one; int two = 2; // with initialization int three = 3, four; // multiple definitions in one line Random generator = new Random(); // definition + class instantiation } } 변수 이름 문자로 시작해야 한다. 문자, 숫자, 그리고 $를 포함..
Java 시작하기 (2) 자바 프로그래밍 기초 (1) 자바 프로그래밍 기초: "Hello, World!" package FirstProgram; public class HelloWorld { public static void main(String[] args){ System.out.println("Hello, World!"); } } 자바에서 모든 것은 객체(object)이다. 객체는 클래스(class)의 인스턴스(instance)이다. 위 예제 프로그램은 HelloWorld라는 하나의 클래스를 가진다. 클래스는 메서드(methods)를 가질 수 있다. HelloWorld 클래스는 main이라는 하나의 메서드를 가진다. main 메서드는 프로그램의 entry point(starting point)이다. ..
Java 시작하기(1) 1. 자바(Java)란 무엇일까? general-purpose 프로그래밍 언어이다. 2019년 현재 가장 인기 있는 프로그래밍 언어이다. 1-1. 그렇다면, 프로그래밍 언어란 무엇일까? 컴퓨터에서 명령을 수행하기 위해 쓰이는 언어이다. 왜 필요할까? CPU는 기계어의 집합을 이해한다. 기계어는 인간이 이해하고, 사용하기에 너무 어렵다! 그래서 프로그래머들은 기계어로 compile 혹은 interpret되고 실행되는 프로그래밍 언어를 사용해서 응용 프로그램을 만든다. 1-2. 프로그래밍 언어에는 두 가지 종류가 있다. Compiled language 컴파일러(compiler)가 전체 프로그램을 읽고 object code(= machine code or binary code)로 변환한..
자료 구조와 알고리즘(2) 이 포스팅은 Python Cookbook의 내용을 요약하여 작성되었습니다. 지적, 질문은 언제나 환영합니다. 1.6 딕셔너리의 키를 여러 값에 매핑하기 하나의 키에 하나의 값이 매핑된 것을 딕셔너리라 부른다. 키에 여러 값을 매핑하려면, 그 여러 값을 리스트나 세트와 같은 컨테이너에 저장해 두어야 한다. d = { 'a': [1, 2, 3], 'b': [4, 5] } e = { 'a': {1, 2, 3}, 'b': {4, 5} } 이러한 딕셔너리를 쉽게 만들기 위해서 collections 모듈의 defaultdict을 사용한다. defaultdict에는 첫 번째 값을 자동으로 초기화하는 기능이 있다. from collections import defaultdict d = def..