프로그래밍 언어
[Python] 난수 random 모듈
import random from random import random, randint random : 0부터 1까지 중에서 소수점 자리의 숫자를 무작위로 추출해준다. random.random() 결과) 0.123123 randit, randrange : 범위 안의 숫자를 선택한다, 차이점은 randrange의 start와 stop 값은 정수만 가능하다. random.randint(3, 10) 결과 10 random.randrange(3, 10, 3) 결과 9 choice, choices, sample : choice 함수를 이용하면 단일값을, choices는 여러 개의 값. temp = range(1, 10) random.choice(temp) 결과 2 random.choices(temp, k = 5)..
[Python] math 모듈
math 모듈은 단순 python 연산을 넘어 조금 더 복잡한 산술 연산이 필요할 때 사용한다. import math를 통해서 사용할 수 있다. 상수 math.pi) 원주율 파이로, 3.141592653589793이다. math.e) 자연 상수 e로, 2.718281828459045이다. math.tau) 타우 상수로, 6.283185307179586이다. 함수 math.pow(x, y) x에 y 승을 계산한 결과값을 반환한다 math.pow(3, 2) # 9 math.sqrt(x) 주어진 인자의 제곱근의 값을 반환한다 math.sqrt(25) # 5.0 math.ceil(x) 주어진 인자의 소수전을 올림하여 정수로 변환한다 math.ceil(3.14) # 4 math.floor(x) 주어진 인자의 소숫..
[Python] for문 활용법
기본형(1) : for in for 변수 in 객체: 실행문 여기서 객체는 일반적으로 문자열, 리스트, 튜플, 딕셔너리를 의미함 변수는 객체의 첫 인덱스에 해당하는 값부터 마지막 인덱스에 해당하는 값까지 차례대로 정의됨 ex) for x in 'abc' 일 경우 x는 'a' 부터 시작하여 'b', 'c' 순으로 정의됨 ex) for x in [1, 2, 3] 일 경우 x는 1 부터 시작하여 2, 3 순으로 정의됨 ex) for x in {'one':1, 'two':2, 'three':3} 일 경우 x 는 'one' 부터 시작하여 'two', 'three' 순으로 정의됨 ex) for [x, y,] in [[1, 2], [3, 4], [5, 6]] 일 경우 x, y는 각각 1, 2 부터 시작하여 3, 4 ..
C++ 23 추가된 주요 기능들
1. if consteval - if constexpr의 consteval 버전이 생긴다. 2. Deducing this - 이제 클래스에서 똑같은 함수를 non-const, const 버전으로 두 가지를 만드느라 생기는 중복코드가 대폭 간결해진다. 3. auto(x), auto{x} - 함수 파라미터에서 rvalue (정확히는 prvalue)로 카피해 전달해주는 기능이다. 예제) 벡터에서 첫 원소와 똑같은 원소를 다 지우고 싶을 때 auto elem = v.front(); std::erase(v.begin(), v.end(), elem); 이 때 auto elem = v.front(); 에서 무조건 복사가 생긴다. C++ 23부터는 std::erase(v.begin(), v.end(), auto(v.f..
[C#] 람다식 (Lambda Expression)
람다식(Lambda)식은 접근자, 함수 이름, return문이 없는 익명 함수(anonymous function)다. 람다식을 사용하면 더 짧은 코드를 작성할 수 있으며 => 연산자를 사용한다. class Program { static int DoubleFunc(int num) { return num * 2; } static void Main(string[] args) { Console.WriteLine(DoubleFunc(10)); } } // 람다식 사용 class Program { static void Main(string[] args) { Func DoubleFunc = (num) => num * 2; int num = 10; Console.WriteLine(DoubleFunc(num)); } }..
[C#] 배열의 타입을 변경하는 방법 (제네릭 가능)
1. Array 클래스의 ConvertAll 메서드 public static TOutput[] ConvertAll ( TInput[] array, Converter converter); TInput[] array - 특정 타입으로 변환하고 싶은 배열을 전달한다. Convert converter - 배열의 요소를 특정 타입으로 변환하는 변환기를 전달한다. - TInput: 기존 배열의 타입을 설정한다. - TOutput: 변환하고 싶은 타입을 설정한다. ConvertAll() 메서드는 특정 타입으로 변환된 새로운 배열을 반환한다. 다음 예제는 string 타입의 배열을 int 타입의 배열로 변환된 새로운 배열을 반환한다 class Program { public static int stringToInt(st..
[Python] 슬라이싱 (Slicing) 기본과 예제
정의슬라이싱(slicing) or 슬라이스(slice): 연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다.슬라이싱을 하면 새로운 객체를 생성하게 된다. 즉, 일부분을 복사해서 가져온다고 생각하면 된다.기본 사용법과 형태기본 형태a라는 연속적인 객체들의 자료구조(예: 리스트, 튜플, 문자열)가 있다고 가정을 했을 때 기본 형태는 아래와 같다.a[start : end : step]각각 start, end, step 모두 양수와 음수를 가질 수 있다.start: 슬라이싱을 시작할 시작위치다.end: 슬라이싱을 끝낼 위치로 end는 포함하지 않는다step: stride(보폭)라고도 하며 몇개씩 끊어서 가져올지와 방향을 정한다. 옵션이며 아래의 ..

[Python] time() 함수, 거리구하기 예제
우리는 시간(time) 모듈에 있는 time() 함수를 이용해 시스템 상의 시간을 얻을 수 있다. - time() 함수는 그리니치 표준시(이하 태평양 기준시, GMT) 1970년, 1월 1일, 00 : 00 : 00 부터 지금 현재 시간까지 흐른 시간을 초(second)와 밀리 초(millisecond) 단위로 표현한 시간을 반환하는 함수이다. - 이는 유닉스 시간(UNIX epoch)으로 널리 알려져 있으며, 1970년대가 유닉스 시스템이 처음 소개된 년도이다. 시간구하는 예제 프로그램 import time currentTime = time.time() #현재 시간(흐른시간) 구하기 totalseconds = int(currentTime) # 현재 흐른시간을 초 단위로 변환 currentsecond =..

[Python] 수학 (math) 함수
파이썬 내(built-in)에 구현되어 있는 함수 표 함수 출력 결과 print(abs(-3)) #절대값 출력 print(abs(-3.5)) #절대값 출력 print(max(2, 3, 4, 6)) #최대값 출력 print(min(2, 3, 4)) #최소값 출력 print(pow(2,3)) # 2^3 (= 2**3) print(round(3.51)) #반올림 print(round(3.1456, 3)) #소수점 3번째 아래를 반올림 수학 (math) 함수 - 파이썬은 수학(math) 모듈을 통해 많은 수학 함수(mathmatical funtions)들을 제공한다. - 파이(pi)와 자연상수 e 도 math 모듈을 통해 이용할 수 있다. ex) math.pi, math.e 수학적 함수(mathmetical f..

[C] 키 입력받는 함수 GetAsyncKeyState, GetKeyState
GetAsyncKeyState SHORT GetAsyncKeyState(int vKey) 반환값은 SHORT형이고, 첫번째 인수로는 가상 키코드가 오며, 우리가 만약 VK_UP을 넘겨주면, 방향키 중 위를 가르키는 키가 눌려있나 눌려있지 않나 확인할 수 있다. (키가 눌려진 상태에서는 최상위 비트(0x8000)이 1이 되며, 처음 입력되었을 때는 0x8001 비트가 1이 된다.) 가상 키코드 모음 반환값은 아래와같이 4가지로 나뉜다. 이전에 누른 적이 없고 호출 시점에서 눌린 상태, 즉 키가 눌려진 시점에서 0x8000을 반환한다. 만약 이전에도 누른 적이 있고 호출 시점에서도 눌렸으면 0x8001을 반환한다. 이전에 키를 눌렀으면 0x0001을 반환하고, 눌리지 않았다면 0x0000을 반환한다. Get..