본문 바로가기

Programming

C++ fstream 객체를 통한 파일 입출력 C++ 프로그래밍을 하다 보면 파일을 자주 다루게 됩니다. 필요한 데이터를 바이너리에 모두 넣지 않고 별도의 파일로 분리해서 읽어올 수 있습니다. C++은 파일 입출력을 지원하기 위한 ifstream, ofstream 클래스를 제공합니다. 파일 입출력을 처리하는 방법을 알아보겠습니다. 1. 파일 생성 및 열기 C++의 ifstream이나 ofstream을 사용하려면 헤더를 추가해야 합니다. #include ofstream은 파일에 기록할 때 사용하고 ifstream은 파일에 저장된 데이터를 읽어올 때 사용합니다. 입력과 출력이 모두 가능한 fstream 클래스 역시 존재합니다. 클래스의 open() 메소드를 통해 파일을 열거나 생성할 수 있습니다. std::ofstream ofs; ofs.open("파일.. 더보기
C++ string (문자열)의 부분 문자열 추출 (substr) C++ 문자열을 다루다 보면 문자열의 일부를 추출해야 하는 상황이 있습니다. 예를 들어, 파일의 확장자 부분만 추출하고 싶을 때 부분 문자열 추출이 필요합니다. C++ string 클래스는 부분 문자열 추출을 위한 substr()이라는 메소드를 가지고 있습니다. string 클래스의 substr()을 활용하는 방법을 알아보겠습니다. string::substr()은 다음과 같은 형태의 함수입니다. string substr (size_t pos = 0, size_t len = npos) const; 시작 지점(pos)과 길이(len)를 전달받아서 부분 문자열을 리턴합니다. 기본값으로 pos는 0으로 지정되어 있으며 len은 npos가 지정되어 있습니다. len은 문자열의 마지막 문자보다 더 긴 길이가 입력되.. 더보기
파이썬(Python)으로 피보나치(Fibonacci) 수 구하기 피보나치 수는 첫 번째와 두 번째 값이 1이고 다음부터는 그 전의 수와 그 전전의 수를 더하는 방식입니다. 첫 번째 값이 0으로 시작하는 경우도 있으며 다음과 같은 형태의 수열입니다. (0), 1, 1, 2, 3, 5, 8, 13,... 2는 처음 1과 그다음의 1을 합쳐서 계산되며, 3 역시 1과 2의 합으로 계산됩니다. 파이썬으로 피보나치 수를 구하는 다양한 방법을 알아보겠습니다. 1. 반복문으로 구현 가장 기본적으로 사용되는 방법은 반복문으로 구현하는 방법입니다. 이 방법은 직관적이면서 가장 효율적인 방법입니다. 반복문으로 피보나치 수를 구현한 코드는 다음과 같습니다. def fib(n): _curr, _next = 0, 1 for _ in range(n): _curr, _next = _next, .. 더보기
C++ 소수점 올림/반올림/내림 방법 C++에서 소수점을 올림 하거나 내림, 혹은 반올림해야 하는 경우가 있습니다. C++의 cmath 헤더에는 올림/반올림/내림을 위한 ceil, floor, round함수가 존재합니다. C++에서 올림/반올림/내림을 하는 방법을 알아보겠습니다. 1. 올림/반올림/내림 방법 cmath 헤더에는 ceil()과 floor() 함수가 존재합니다. ceil() 함수는 올림을 위한 함수이며 floor() 함수는 내림을 위한 함수입니다. 그리고 C++11에서 반올림을 위한 round() 함수가 추가되었습니다. #include #include #include using namespace std; void main() { float float_num = 2.3; double double_num = 6.7; const ch.. 더보기
[Java] 자바 LinkedList 사용 방법 LinkedList는 ArrayList와 함께 List를 구체화한 클래스입니다. ArrayList에 대한 내용은 아래의 링크에서 확인 가능합니다. 2020/11/11 - [Programming/Java] - [Java] 자바 ArrayList 사용 방법 [Java] 자바 ArrayList 사용 방법 ArrayList는 자바에서 기본적으로 많이 사용되는 클래스입니다. ArrayList는 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나입니다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인 psychoria.tistory.com ArrayList는 배열을 사용해서 List를 구현한 클래스입니다. ArrayList와 다르게 LinkedList는 각각의 노드를 연결하는 방식을 사용합니다. 아래.. 더보기
[Java] 자바 ArrayList 사용 방법 ArrayList는 자바에서 기본적으로 많이 사용되는 클래스입니다. ArrayList는 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나입니다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인덱스는 0부터 시작합니다. 배열과의 차이점은 배열이 크기가 고정인 반면 ArrayList는 크기가 가변적으로 변합니다. 내부적으로 저장이 가능한 메모리 용량(Capacity)이 있으며 현재 사용 중인 공간의 크기(Size)가 있습니다. 만약 현재 가용량(Capacity) 이상을 저장하려고 할 때 더 큰 공간의 메모리를 새롭게 할당합니다. 자바의 ArrayList를 활용하는 방법을 알아보겠습니다. 1. ArrayList 생성 자바에서 ArrayList를 사용하려면 아래 구문을 먼저 추가해야 합니다. i.. 더보기
C++ string (문자열) 소문자, 대문자 변환 C++ 문자열의 대문자를 소문자로 바꾸거나 소문자를 대문자로 변경해야 하는 경우가 있습니다. 문자열을 대소문자 구분없이 검색 시 대문자나 소문자로 전부 변경한 이후에 비교해서 찾을 수 있습니다. C++에서 대문자를 소문자로 변경하거나 소문자로 대문자로 변경하는 방법을 알아보겠습니다. 1. boost::algorithm::to_upper, boost::algorithm::to_lower boost는 C++을 위한 유용한 라이브러리입니다. boost::algorithm::to_upper, boost::algorithm::to_lower를 사용하면 각각 대문자, 소문자로 변환이 가능합니다. boost의 to_upper와 to_lower를 사용하는 방법은 다음과 같습니다. #include #include #in.. 더보기
[Java] 자바 난수 (Random Number) 생성 방법 난수(랜덤 넘버) 생성은 프로그래밍에서 자주 사용되는 기능입니다. 확률을 적용하기 위해 난수를 사용할 수 있습니다. 로또 번호를 생성하는 프로그램을 작성할 때 난수 생성 방법을 활용할 수 있습니다. 자바에서 랜덤 넘버를 생성하는 방법을 알아보겠습니다. 1. Math.random() 자바에서는 기본적으로 Math 클래스의 random()으로 랜덤 값을 만들 수 있습니다. Math.random()은 0과 1 사이(0.0 ≤ x < 1.0)의 실수(double) 값을 리턴합니다. Math.random로 특정 범위의 값을 생성하려면 아래 공식을 사용하면 됩니다. Math.random() * (max - min + 1) + min min과 max 사이의 double 값 중 한 개를 생성할 수 있습니다. 정수 값을.. 더보기