본문 바로가기

알고리즘39

[C++] 연산자 C++는 풍부한 내장 연산자를 갖고 있다. 표.1 내장 연산자 종류 예시 계산 연산자 산술 연산자 ++, +, *, %, ... 불 연산자 비교 연산자 , [ ], *, ... 타입 처리 연산자 dynamic_cast, typeid, sizeof, alignof, ... 오류 처리 연산자 throw 산술 연산자 표.2 산술 연산자 연산 표현식 후위 증가 후위 감소 x++ x-- 전위 증가 전위 감소 단항 덧셈 단항 뺄셈 ++x --x +x -x 곱셈 나눗셈 나머지 x * y x / y x % y 이항 덧셈 이항 뺄셈 x + y x - y 불 연산자 표.3 불 연산자 연산 표현식 아니다 !b 크다 크거나 같다 x > y x >= y 작다 작거나 같다 x < y x y 비트 AND x & y 비트 OR x .. 2021. 4. 24.
[C++] 변수 C++는 타입 제약이 엄격한 언어다. 모든 변수는 타입을 가지며 한번 정해진 타입은 절대 변하지 않는다. 선언 방법 - 문장의 시작 부분에 타입을 적고, 그 뒤에 변수의 이름을 작성 - 초기화 또는 변수 목록을 선택적으로 넣을 수 있음. 내장 타입(기본 타입) 이름 의미 이름 의미 char 하나의 문자 매우 좁은 범위를 갖는 정수 unsigned 부호가 없는 정수 short 덜 좁은 범위의 정수 signed 부호를 갖는 정수 int 보통 범위를 갖는 정수 float 단정밀도를 갖는 부동소수점 long 넓은 범위를 갖는 정수 double 배정밀도를 갖는 부동소수점 long long 아주 넓은 범위를 갖는 정수 long double 큰 범위를 갖는 부동 소수점 bool 불 방식(true/false) 상수 C.. 2021. 4. 24.
Python에서의 스택 스택(Stack) : LIFO(Last in First Out), 가장 나중에 쌓은 데이터를 먼저 뺄 수 있는 데이터 구조 파이썬은 스택 자료형을 별도로 제공하지 않는다. 대신 리스트가 스택의 모든 연산을 지원한다. push( ) : 요소를 컬렉션에 추가 (=list.append) pop( ) : 아직 제거되지 않은 가장 최근에 삽입한 요소를 제거 대표 문제 : 괄호 판별 s = input() stack = [] table = { ')': '(', '}': '{', ']': '[' } for char in s: if char not in table: stack.append(char) print(stack) elif char not in stack and table[char] != stack.pop(): .. 2021. 3. 21.
[BOJ/백준] 2003번 - 수들의 합 2 Python 투 포인터(Two Pointers) : 두 지점을 통해 구간의 부분합 도출 - 시작점과 끝점(왼쪽 포인트와 오른쪽 포인터) 두 지점을 기준으로 하는 문제 풀이 전략. 대표 문제 : 백준 2003번: 수들의 합 2 문제 링크 : www.acmicpc.net/problem/2003 접근법 1. 슬라이싱을 통한 구간 선정 리스트[left:right] 2. 구간 부분합 구간의 합 Target(M) : 왼쪽 포인터 → 이동 / 합계 줄이기 위함 구간의 합 = Target(M) : 카운트 증가, 오른쪽 포인터 → 이동 변수명 N = 수열의 갯수, M = Target nums = 입력 수열 left, right = 초기 포인터(배열의.. 2021. 3. 17.
728x90
반응형