본문 바로가기
반응형

프로그래밍 언어106

[C / C++] 난수 생성 (rand, srand, time) 해당 게시글은 난수를 생성하는 rand, srand, time 함수에 대해서 다룹니다. ※ Random한 값을 난수라고 표현합니다. ※ 실행할 때마다 다르게 난수를 생성하는 방법은 ③ srand() 인자로 시간을 인자로 주는 형태입니다. ① rand 필요한 헤더파일: C언어 / C++ #include #include int main(void){ for (int i = 0; i < 5; ++i) { printf("rand : %d\n", rand()); } } 랜덤한 숫자이기 하지만 실행할 때마다 동일한 (랜덤) 숫자를 생성하는 단점이 있습니다. 생성되는 난수의 범위는 0 ~ RAND_MAX 까지 입니다. (RAND_MAX는 0x7fff로 10진수로 0 ~ 32767가 생성 범위 입니다. ※ RAND_MA.. 2021. 2. 23.
[Java] ArrayList ArrayList List는 가변적인 배열입니다. 일반적인 배열과 마찬가지로 순서있기에 인덱스 번호를 통해 접근할 수 있습니다. 하지만 배열은 크기가 고정되는데 비해 List 자료구조는 크기를 고정할 필요가 없다. 왜냐하면 필요한 크기만큼의 새로운 배열을 만들어서 기존 자료를 옮기는 형태이기 때문이다. 즉, 현재 배열의 데이터가 다 채워진 상태에서 새로운 데이터가 추가되려고 하면 리스트 계열의 클래스들은 새로운 배열을 만들어서 기존 데이터를 복사해버립니다. ArrayList 예제 add() 리스트 맨 마지막에 원소를 추가해줍니다. 특정 인덱스와 함께 인자를 넘겨주면 해당 위치에 요소를 넣을 수 있습니다. get() 해당 데이터 실제값을 복사해서 반환 remove() 변수에는 객체의 레퍼런스을 가지게 하고.. 2021. 2. 23.
[예제] srand()를 이용한 1~10까지의 난수 생성 해당 게시글에서는 10개의 숫자를 랜덤하게 생성할 때, 1~10까지의 숫자 중 랜덤하게 가지는 방법과 1~10까지 숫자를 중복없이 랜덤하게 배치하는 방법을 소개합니다. ([C / C++] 난수 생성 (rand, srand, time) 보고 오시면 좋습니다.) srand()와 rand()를 통해서 0 ~ 32767을 랜덤하게 추출할 수 있었습니다. 1~10까지의 숫자를 랜덤하게 추출하는 방법은 나머지 연산을 이용하는 것입니다. → rand() % MOD #include #include #include const int SIZE = 10; int idx, list[SIZE]; int main() { srand(time(NULL)); while (idx < SIZE) { int val = rand() % SI.. 2021. 2. 23.
[Java] main 함수 [Java] main 함수 public static void main(String[] args){ ... } 1. main() 메서드는 public 속성이다. 이는 다른 클래스에서 호출 가능함을 표시한다. 자바 응용프로그램이 실행을 시작할 때 자바 가상 기계(JVM)에 의해 호출되어야 하므로 public 속성으로 선언되어야 한다. 2. static 속성이다. main() 메소드가 포함된 클래스의 객체가 생성되기 전에 자바 가상기계에 의해 호출되므로 static 속성으로 선언되어야 한다. 3. 리턴 타입은 void 이다. 아무 값도 리턴하지 않기 때문에 void 리턴 타입이다. 4. 인자는 문자열 배열(String [])이 전달된다. 명령행에 주어진 모든 인자를 문자열로 처리하여 main() 메서드에 전달.. 2021. 2. 23.
python 언어 특징 프로그래밍 언어는 C / C++ / Python / Ruby / Go 등 다양한 언어가 존재하며, 웹 / 앱 / 펌웨어 / AI 등 여러분야에서 많이 사용되는 언어가 있습니다. 해당 게시글은 여러 언어들이 가지고 있는 공통적인 특징일 수도 있고, Python만의 비교적(?) 좋은 특징에 대해 작성한 글입니다. - Runtime에서 타입 확인을 하고 자동 메모리 관리 (동적 타이핑) - 메모리가 허용되는 범위에서 커다란 정수를 무한 사용 가능 - 파이썬은 들여쓰기 규정이 엄격하다. (TAB 보다는 공백 4개를 추천함) 그렇다고 아무데서나 함부로 들여쓰기 하면 안됩니다. 선택한 블록 들여쓰기 → CTRL + ] 선택한 블록 들여 내기 → CTRL + [ - 인터프리터 언어로 매번 명령 줄을 해석하고 실행 최.. 2021. 2. 20.
[예제] Java 입출력 속도 비교 Java에서는 입·출력 하는 방식이 여러개 존재하는데, 이들의 속도를 비교하고자 합니다. - System.out.println - StringBuilder - BufferedoutputStream - BufferedWriter import java.io.BufferedOutputStream; import java.io.BufferedWriter; import java.io.OutputStream; import java.io.OutputStreamWriter; public class Solution { public static void main(String[] args) throws Exception { long starttime = System.currentTimeMillis(); // #########.. 2021. 2. 18.
반응형