본문 바로가기

Programming

[Java] BigInteger로 for loop (반복문) 적용 BigInteger는 Integer나 Long 등의 데이터 타입으로 보관할 수 없는 숫자를 담을 수 있습니다. BigInteger로 표현된 범위를 반복문으로 처리해야 하는 경우가 있습니다. for문에 BigInteger 범위를 적용하는 방법을 알아보겠습니다. 기본적인 BigInteger for문 적용 코드는 다음과 같습니다. 10000000000000000000000000000 ~ 10000000000000000000000000005 범위를 출력하는 코드입니다. Java의 Long 타입의 최대값(9223372036854775807)보다 훨씬 더 큰 값입니다. 처음 나오는 for문은 일반적으로 마지막 숫자를 포함하지 않는 형식(i < to)입니다. 다음으로 마지막 숫자를 포함하는 for문입니다. 기본적으로.. 더보기
C++ 벡터(vector) 혹은 배열에서 최대값, 최소값 찾기 벡터(vector)나 배열 등에 저장된 원소들 중에 최대값과 최소값을 찾아야 하는 경우가 있습니다. C++에서 제공하는 max_element와 min_element는 각각 최대값과 최소값을 찾을 수 있습니다. max_element와 min_element를 사용하는 방법을 알아보겠습니다. max_element와 min_element는 algorithm 헤더에 포함되어 있습니다. 최대값과 최소값을 가져오는 예제는 다음과 같습니다. 첫 번째 최대값과 최소값을 가져오는 부분은 배열에서 가져오는 방법입니다. 배열의 첫 번째 값의 주소(변수명)과 마지막 값의 주소 + 1(변수명 + sizeof(변수명) / sizeof(타입))을 전달하면 됩니다. 기본적으로 max_element와 min_element는 이터레이터(.. 더보기
파이썬에서 CSV(Comma Separated Values) 파일 읽기/쓰기 CSV(Comma Separated Values) 파일은 각 칼럼의 값을 쉼표로 구분하는 파일 포맷입니다. 특별한 라이브러리가 없어도 파일을 쉽게 읽고 쓸 수 있기 때문에 많이 쓰이는 형식입니다. 파이썬에는 CSV 파일을 효율적으로 읽고 쓰기 위한 csv 모듈이 존재합니다. 파이썬의 csv 모듈을 통해 CSV 파일을 다루는 방법을 알아보겠습니다. 1. CSV 파일 쓰기 CSV 파일을 생성하고 작성하기 위한 코드는 다음과 같습니다. # -*- coding: utf-8 -*- import csv import datetime fields = ['ID', 'Date in', 'Name', 'Quantity', 'Unit Price', 'Total'] sample_list = [ [1, datetime.date... 더보기
파이썬 openpyxl로 엑셀(Excel) 파일 읽기/쓰기 파이썬에는 엑셀(Excel) 파일을 다루기 위한 다양한 라이브러리가 존재합니다. openpyxl은 가장 많이 쓰이는 엑셀 라이브러리 중 하나입니다. 파이썬에서 openpyxl을 활용해 엑셀 파일을 읽고 쓰는 법을 알아보겠습니다. 1. 새로운 엑셀 파일 생성 먼저 새로운 엑셀 파일을 생성하고 셀에 텍스트를 입력하는 방법입니다. openpyxl을 사용하려면 먼저 패키지를 추가해야 합니다. PyCarm을 기준으로 File > Settings 메뉴(Ctrl + Alt + S)로 이동합니다. 패키지 리스트의 우측에 보이는 '+' 버튼을 클릭해서 openpyxl을 추가합니다. 상단의 검색창을 이용해서 openpyxl을 찾고 Install Package를 눌러서 설치합니다. 엑셀 파일을 작성하고 간단한 내용을 입력하.. 더보기
C++ string을 int로 변경하는 방법 프로그래밍을 하다 보면 다양한 타입들을 변환해야 하는 상황이 생깁니다. C++에서 int나 long 타입을 string으로 변환하는 것은 아래에서 확인 가능합니다. 2019/11/15 - [Programming/C&CPP] - C++ int를 string으로 변경하는 방법 C++ int를 string으로 변경하는 방법 C++의 string 클래스는 int나 float, double 같은 타입을 변환하는 메소드를 가지고 있지 않습니다. 다만 표준인 stringstream이나 boost의 lexical_cast를 활용해서 변환이 가능합니다. 아래 링크를 통해 int 등.. psychoria.tistory.com 반대로 string을 int로 변환하는 방법들을 소개합니다. 1. std::stringstream.. 더보기
C++ int를 string으로 변경하는 방법 C++의 string 클래스는 int나 float, double 같은 타입을 변환하는 메소드를 가지고 있지 않습니다. 다만 표준인 stringstream이나 boost의 lexical_cast를 활용해서 변환이 가능합니다. 이 방법 외에도 C++11에서 추가된 std::to_string()을 통해 변환이 가능합니다. 반대로 string을 int로 변환 역시 지원하며 아래 링크에서 확인 가능합니다. 2019/11/18 - [Programming/C&CPP] - C++ string을 int로 변경하는 방법 C++ string을 int로 변경하는 방법 프로그래밍을 하다 보면 다양한 타입들을 변환해야 하는 상황이 생깁니다. C++에서 int나 long 타입을 string으로 변환하는 것은 아래에서 확인 가능합니.. 더보기
파이썬에서 JSON 데이터 형식 처리 파이썬은 기본적으로 JSON 데이터를 처리할 수 있는 json 모듈이 포함되어 있습니다. json 모듈은 Python 타입을 JSON 형태의 문자열로 바꾸거나 그 반대의 기능을 제공합니다. 1. JSON 형태 문자열과 파일 읽기 JSON 형태의 문자열을 읽기 위해 loads()를 사용합니다. import json data = '{"title": "Book1", "ISBN": "12345", "author": [{"name": "autho1", "age": 30}, {"name": "autho2", "age": 25}]}' json_data = json.loads(data) print(json_data['title']) print(json_data['ISBN']) for author in json_data.. 더보기
Sourcetree에 외부 Diff 툴 설정 Sourcetree를 설치한 이후에 외부 Diff 툴을 설정하면 쉽게 수정 내역을 확인할 수 있습니다.소스 코드의 수정 내역을 확인해서 실수를 미리 찾아내는데 도움이 될 수 있습니다.Diff 툴 설정을 위해 도구(Tools) -> 옵션(Options) 메뉴를 실행합니다.비교(Diff) 탭으로 이동하면 외부 비교 / 병합 설정이 가능합니다.외부 비교 도구와 병합 도구에서 커스텀을 선택하고 Diff 명령어와 변수를 입력하면 됩니다.현재는 Meld라는 Diff 툴을 사용하고 있는데 각각 설정 값은 다음과 같습니다.Meld 설정 Diff 명령어 변수 외부 비교 도구 Meld 실행파일 경로 -n $LOCAL $REMOTE 병합 도구 Meld 실행파일 경로 -n $LOCAL $BASE $REMOTE --auto-m.. 더보기