본문 바로가기

반응형

Blog for Programming

(167)
[C++, 코딩 테스트] 문자열을 입력 받고 문자로 추출, 공백으로 구분하기 - (getline() 함수 사용시 주의할 점) 1. 개요 최근 알고리즘 테스트에 현타란 현타를 강하게 맞아서 '나동빈'님의 책인 '이것이 취업을 위한 코딩테스트다.' 라는 책을 통해 체계적으로 공부중이다. 그중 구현 단원에서 문자열에 관한 C++문법을 정리해봐야 겠다는 생각이 들어 글을 쓰게 되었다. 예제 4-1의 상하좌우 문제이다. 2. 이론 String자료형은 매번 문자형의 배열을 사용하던 나에게는 신세계이자 구원자였다. 그러나 C++도 결국 C계열인지 메모리와 같은 부분을 신경써야 한다는 것을 뼈저리게 느끼는 중이다. 그래도 C에 비하면 심각하게 어려운 것이 아니니 관련 자료를 찾으며 공부하였다. 이번 글에서는 C++에서 문자열을 입력받고 이를 문자로 추출할때, 그리고 버퍼를 비우는 방법에 대해 작성할 것이다. 3. 예시 코드 - 문자열에서 문..
[C++] 문자열에서 정수, 실수, 문자 추출하기 - (stringstream) 1. 개요 백준 알고리즘 문제를 풀다가 문자열에서 정수들을 추출해야 하는 경우가 발생했다. 문자열은 질리도록 나를 괴롭혔고 날이 날인지라 정말 극강의 하기 싫음을 느끼고 혹시나 하는 마음에 구글링을 시작했다. 'string 토큰 분리'라는 키워드로 구글링을 해보니 'stringstream' 이라는 클래스가 나오고 나는 바로 이 클래스를 공부하기 시작하였다. 2. 이론 stringstream은 문자열에 자신이 원하는 자료를 찾고자 할 때 유용한 클래스이다. 예를 들어 "76 65.7"이라는 문자열이 있을 때 76이라는 정수만 뽑고 싶을 때 stringstream클래스를 사용하면 훨씬 간편하게 구용할 수 있다. 다음 코드들을 보자. 3. 예시 코드 - 문자열에서 정수 추출하기 백문이 불여일견! 다음 코드를 ..
[spring] Interceptor와 Session의 개념과 구현, Clone Coding 1. 개요 Clone Coding프로젝트를 마무리 한지 꽤 오랜 시간이 지났다. 프로젝트 도중 인턴에 합격한 팀원도 있고 다른 교육 프로그램에 합격한 팀원도 있다. 기쁜소식을 들어면서 프로젝트를 진행하니 나도 동기부여가 되는 것 같다. 중간고사가 끝나고 드디어 시간이 조금 나니, 조금씩 꾸준하게 블로그에 글을 올릴 생각이다. 2. 이론 내 역활중 하나는 바로 admin페이지의 로그인을 구현하는 것. 사실 관리자 로그인은 데이터베이스에 아이디와 패스워드 한 세트만을 생성하고 그것을 쓰면 되기 때문에, 아이디와 비밀번호의 CRUD는 그렇게 어렵지 않았다. 중요한 것은 매 페이지마다 섹션에 있는 값을 확인하는 기능을 구현하는 것이다. 설명하자만 매번 검사하는 것은 Interceptor로 그리고 관리자가 로그인..
[컴퓨터구조론 개정5판 생능출판] - Chapter2 연습문제 풀이 (2.1 ~ 2.10) 생능출판사 컴퓨터 구조론 개정5판 p.128 연습문제의 풀이이다. 틀린 부분이 있을 수 있으니 참고하실분들은 참고했으면 좋겠다.
[알고리즘] C++을 활용한 후위 표기법의 계산 1. 이론 이 알고리즘은 중위 표기법에서 후위 표기법으로 전환한 후에 후위표기법을 실질적으로 계산하는 알고리즘이다. 이 부분은 전에 포스팅한 중위 표기법의 후위 표기법 변환 알고리즘보다는 훨씬 간단하다. 예외와 구현이 나름 쉬웠다. 이 부분은 학교 수업으로 공부하였다. - 후위표기식의 계산 알고리즘 후위표기식의 계산 알고리즘은 다음과 같다. 숫자가 나오면 무조건 스택에 Push 연산자가 나오면 스택에서 두개의 피연산자를 꺼내 계산한다. 연산자가 뺄셈 혹은 나눗셈인 경우 순서를 생각해야 한다. 이런 경우를 대비해 스택에서 나중에 꺼내진 연산자로부터 먼저 꺼내진 연산자에 대한 연산을 실행한다 계산된 연산자는 다시 스택에 넣어준다. 후위 표기식이 다 끝났다면 스택에 남아있는 피연산자가 식의 답이다. 이전 포스..
[spring] 로컬 파일에 이미지 저장과 예외처리 - (SimpleDateFormat), Clone Coding 1. 개요 바로 직전 포스팅이 바로 Spring에서 이미지를 저장하는 방법이다. 이 방법에서 심각한 문제를 발견하였다. 우리가 웹 사이트를 만들면 다양한 사람이 사이트를 사용한다. 이런 경우를 생각해서 예외처리에 철저해야 한다는 것일 이번에 깨닫게 되었다. 이 포스팅은 내가 전에 올린 포스팅과 이어지는 내용이기에 꼭 전 포스팅을 보고왔으면 좋겠다. 이전 포스팅: apape1225.tistory.com/66 [spring] 로컬 파일에 Img 저장하기! - (ServletContext) 1. 개요 Django를 공부하다가 동기에게 실속있게 도움되는 프로젝트를 해보자는 제안이 왔다. 프로젝트에 목말라있던 나에게는 아주 좋은 기회였다. 바로 승낙했지만 정말 충격이었다...... Clone apape1225.t..
[알고리즘] C++을 활용한 중위 표기법의 후위 표기법 변환 1. 이론 작년쯤에 공부했던 알고리즘을 교내 수업에서 만났고, 내가 얼마나 공부를 부실하게 했는지도 알게 되었다. 대충 이론만 기억나는 상태여서 처음부터 다시 손으로 쓰면서 공부했다. 많은 책과 인터넷 자료들을 참고 하였으며 최대한 예외를 예상하여 작성하여 알고리즘을 써내려 갔다. - 중위 표기법 중위 표기법이란 이름 그대로 피연산자들 사이에 연산자가 있는 표기법을 말한다. 우리가 기존에 알고있는 수식이 전부 중위 표기법이다. 다음 식을 보자. 17 + 5 위의 간단한 식을 보면 두개의 피연산자 (숫자) 사이에 연산자 (계산 기호) 가 있다. 연산자 옆의 두개의 피연산자로 계산을 하는 방식이 중위 표기법이다. - 후위 표기법 후위 표기법은 중위 표기법과는 다르게 피연산자들 뒤에 연산자가 있는 표기법을 말..
[spring] 로컬 파일에 Img 저장하기! - (ServletContext), Clone Coding 1. 개요 Django를 공부하다가 동기에게 실속있게 도움되는 프로젝트를 해보자는 제안이 왔다. 프로젝트에 목말라있던 나에게는 아주 좋은 기회였다. 바로 승낙했지만 정말 충격이었다...... Clone 코딩을 같은 수준의 대학생들과 같이 진행하는 것이 첫번째 임무. 난 Spring에 대해서 아무것도 몰랐는데 CRUD를 간단하게 구현한 몇줄짜리 코드를 보며 spring을 공부하기 시작했다.(실화이다.) 내가 맡은 일은 데이터베이스에 이미지를 포함한 여러 데이터를 저장하는 것. CRUD에서 'C' 이다. dao, dto는 어렵다고 느껴지지 않을 만큼 삽질을 한 것 같다. 다음은 내가 찾은 img를 저장하는 방법에 대해 공유하고자 한다. 2. 내용 나는 이미지를 로컬폴더에 저장하였다. 서버단으로 넘어가면 ou..