전체 글
-
-
-
-
기호 상수(#define & const)C 2023. 2. 4. 18:58
#define 보통 상수에는 변수와는 달리 이름이 존재하지 않는다. 하지만 상수에도 이름을 붙일 수 있는 방법이 있는데 이는 "기호 상수(symbolic constant)"이다. #define EXCHANGE_RATE 1120 위 코드가 현재의 환율 1120을 기호 상수 EXCHANGE_RATE로 표현한 코드이다. 보통 #define 문장은 프로그램의 맨 첫 부분에 쓰는데, 이들은 전처리기(preprocessor)가 처리한다. 전처리기는 코드에서 EXCHANGE_RATE를 전부 찾아서 1120로 바꾸는 역할을 한다. 기호 상수는 리터럴 상수(상수 값을 그대로 쓰는 방법)에 비하여 몇 가지의 장점을 지닌다. 1) 기호 상수를 사용하면 프로그램을 읽기가 쉬워진다. (위 코드를 예시로 EXCHANGE_RATE..
-
-
오버플로우C 2023. 2. 4. 18:27
C언어에서는 정수형 변수가 나타낼 수 있는 정수의 범위가 제한되어 있으므로 조심해야한다. 즉 정수형 변수를 이용해 산술 연산을 하는 경우, 산술 연산의 결과가 정수형이 나타낼 수 있는 범위를 초과할 수 있다. #include int main(void) { short s_money = 32767; // 최대값으로 초기화한다. s_money = s_money + 1; printf("s_money = %d\n", s_money); return 0; } 위 코드에서 short형 변수에 최대값인 32767을 할당한 후에 1을 증가시켜보았다. 이 경우에는 32767에서 갑자기 -32768이 되는 것을 볼 수 있었다! 이런 경우를 오버플로우(overflow)라고 하며 변수가 나타낼 수 있는 범위를 넘는 숫자를 저장하..
-
unsigned 수식자C 2023. 2. 4. 18:19
C언어에서 unsigned는 부호가 없다는 뜻으로 변수가 음수가 아닌 값만을 나타낸다는 것을 의미한다. 간단히 말해 unsigned를 붙이면 양수만 표현할 수 있다. 음수가 제외되면 같은 비트로 더 넓은 범위의 양수를 나타낼 수 있다는 장점 또한 존재한다. 예를 들자면 short형은 -32768 ~ +32767까지의 정수만을 표현할 수 있었지만 unsigned short형은 0 ~ 65535까지의 정수를 나타낼 수 있다. unsigned int speed; // 부호없는 int형 변수 speed unsigned speed; // 이렇게 해도 된다. # 참고 unsigned라고 쓰면 unsigned int형을 의미한다. 또한 short 형은 short int라고 쓸 수도 있다. 마찬가지로 long 형은 l..
-
[백준, Python] 9093번 : 단어 뒤집기알고리즘 2023. 1. 25. 09:34
https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 문제설명 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 풀이 간단하게 접근하면 매우 쉬운 문제다. 문자열을 뒤집는 방법에는 1. STACK 자료구조 활용 2. 파이썬에서 제공하는 reversed() 활용 3. for문 활용 이렇게 총 3가지가 있겠지만, 뭔가 이 문제를 접근할 때 슬라이..