우선 아스키 코드표를 보자 아스키 코드에 대해서 간단히 설명 하자면 ANSI에서 제정한 문자 코드 표 이며, 간단히 말하자면 1바이트로(8비트) 128개의 문자를 표현한것이다. 8비트는 2의8승개의 서로 다른 상태를 나타낼 수 있다. 그렇기 때문에 0~127까지의 숫자에 문자를 매핑 시킬 수 있는 것이다. 아스키 코드표에서 보면 0이라는 숫자에 '\0'이라는 문자가 매핑 되어있다.'\0'이라는것이 바로 NUL이라는 문자다. (NULL이 아니다!! 둘은 다른것이다.) NULL이라는 것은 숫자 0으로 #define 되어 있다. 즉 다시 말해서 c와 c++에서 NULL == 숫자 0 == '\0'는 동일한 의미로 쓰인다. 숫자 0과 문자 0 은 다르다 다시 표로 돌아가서 숫자 0~9와 문자 0~9가 다르다는것..
문자열의 정의-> 문자들이 나열되고 마지막에 널문자가 들어있는 문자들의 배열 ('\0') character형 배열-> 꼭 마지막에 널문자가 있지 않아도 됨. 즉 문자열이 char배열을 내포하고있음(벤 다이어그램 떠올리자) 문자열은 char배열이 될 수 있지만, 반대로 char배열은 문자열이다 라는것은 틀린말이다. c++의 #include 사용하기 string은 객체 이다. 그래서 아래와 같이 생성자와 = 연산자 오버로딩을 통해서 값을 초기화 해줄 수 있다.(물론 기본적으로 구현돼 있음) string str("simsimjae님의 블로그");string str = "simsimjae님의 블로그"; c++의 string 객체는 c에 있는 string과는 다르게 마지막에 널문자를 포함 시키지 않는다. 스택 오..
[c/C++] 문자열 입력 cin() getline() 버퍼오버플로우 문자열을 입력받을 때, cin >> 을 보통 사용한다. 하지만 cin 으로 문자열을 입력받을 때 문제점들이 있다. (1) 버퍼 오버플로우 cin으로 입력받는 배열의 크기를 넘어서는 문자열을 cin 을 통해 입력받으면, 배열의 크기를 넘어 다른 변수 소유의 메모리에 덮어쓰게 된다. (2) cin은 공백과 개행문자를 입력받지 못한다. cin 을 연속으로 사용하여 2번의 문자열을 받을 때 공백을 만나면 다음 cin의 변수로 데이터가 넘어간다.예를들어, I'm Hyeon 을 입력하면, I'm 은 첫번째 변수에 Hyeon은 두번째 변수에 들어간다.공백처리를 하지 못하게 된다. 이러한 문제를 해결하기 위하여, 문자열을 입력받을 때 getline(..
완전 개 쌩 노가다 문제.. 다음부터 이런 문제는 거르는게 낫겠다 로마숫자를 아라비아숫자로 바꾸는것은 별로 어렵지 않다. 배열[로마숫자] = 아라비아숫자 -> arr['V'] = 5; 이런식으로 배열에 넣어놓고 나서 주어진 입력의 로마숫자에 대해서 하나씩 문자를 택한뒤 그 로마숫자를 아라비아숫자로 변환만 해줘서 더해주기만 하면 된다. int romtonum(string temp) { int ret=roma[temp[0]]; for(int i=1; i5){ num -=5; temp += numtorom(5);} if(num%3==1)temp+= "I"; if(num%3==2)temp+= "II"; if(num%3==0)temp+= "III"; }else if(num/100 == 0) //num이 두자리수 ..
게임 대진표 에서 보던걸 그대로 문제로 옮긴듯 스타 리그로 예를 들면 이영호와 김택용이 각각 다른조에 있는데 몇번만에 둘이 만나서 대결하느냐를 구하는 시뮬레이션 문제 물론 처음부터 같은 조에 있으면 1을 출력할것이다. 123456789101112131415161718192021#include #include #include using namespace std;int n; int main(){ cin >>n; int a,b; cin>>a>>b; int count=1; while((int)((double)a/2+0.5) != (int)((double)b/2+0.5) ) //반으로 나눈걸 반올림한게 같은 경우 대결함. { a = a%2==0? a/2:a/2+1; b = b%2==0? b/2:b/2+1; cou..
- Total
- Today
- Yesterday
- typescript
- return type
- await
- hydrate
- promise
- react hooks
- Babel
- state
- es6
- atomic design
- reflow
- reducer
- useRef
- type alias
- design system
- mobx
- reactdom
- useEffect
- computed
- webpack
- javascript
- rendering scope
- Next.js
- Polyfill
- props
- async
- storybook
- server side rendering
- Action
- react
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |