간단한 문제일 줄 알았으나, 은근 어려웠던 문제 우선 딱 봤을때 떠오르는 방법은 틀린 방법일 확률이 높은 문제이다. 왜냐하면 제한시간이 1초인데 문자열의 길이는 백만 까지 가능하다. 보통 비교연산을 1억번 정도 하는데 1초정도가 걸린다고 한다. 그런데 만약 빅오가 엔제곱인 알고리즘으로 이문제를 푼다면 백만곱하기 백만 이기때문에 1초로는 어림도 없다. 그래서 처음에 시간초과가 떴었다. 이 문제는 빅오가 엔인 알고리즘으로 풀어야만 문제를 풀 수 있다. 즉 문자열을 검사해 가면서 동시에 문자열을 바꿔야만 하기때문에 조금 까다로운 문제이다. 풀이방법-> 문자열을 검색해가면서 C4중 4를 만날때까지 검색을 한다.현재 검색한 문자가 4가 아니라면 스택(배열로 표현됨)에 그 숫자를 넣는다. 4를 만났다면 거꾸로 내려..
스프링 시큐리티를 통해서 입력한 비밀번호를 암호화해서 로그인 인증처리를 하는 방법에 대해서 알아보겠습니다. security-context.xml에 위와 같은 내용을 추가해줍니다.스프링 시큐리티에서 로그인을 할때 입력된 비밀번호를 암호화를 한뒤 데이터 베이스에 있는 값과 비교를해서 인증을 허가 해줄지를 결정하게 되는데, 그때 필요한 패스워드 인코더가 바로 passwordEncoder 빈 입니다. 그러므로, 회원가입을 받을때에도 마찬가지로 저 패스워드 인코더를 사용해서 암호화 한다음에 데이터베이스에 값을 넣어야겠죠? 그다음은 customUserDetailsService(클릭시 전체 코드)에 대해 설명하겠습니다. 우선 customUserDetailsService은 UserDetailsService 라는 인터페..
우선 아스키 코드표를 보자 아스키 코드에 대해서 간단히 설명 하자면 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(..
- Total
- Today
- Yesterday
- design system
- javascript
- webpack
- Action
- reflow
- rendering scope
- promise
- useEffect
- server side rendering
- Next.js
- mobx
- await
- react hooks
- type alias
- state
- Polyfill
- reducer
- async
- props
- Babel
- useRef
- reactdom
- storybook
- es6
- computed
- typescript
- hydrate
- return type
- react
- atomic design
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |