본문 바로가기

전체 글199

알고리즘 문제해결 전략-01리뷰 알고리즘 문제해결전략 (저자:구종만) 01-3 코딩과 디버깅에 관하여 (43p~86p) 3.1 도입 :코딩의 중요성을 간과하지 말라 프로그래밍 대회에서 좋은 성적을 올리기 위한 비결은 읽기 쉬운 코드를 작성하는 것 3.2.좋은 코드를 짜기 위한 원칙 1. 간결한 코드 작성-> 버그생길 우려가 줄어들고 디버깅이 쉬워짐,전역변수 많이 사용하지 않기,c++매크로사용 2.적극적으로 코드 재사용하기 -> 코드를 모듈화 3.표준라이브러리 공부하기 4. 항상 같은 형태로 프로그램을 작성하기 ->자주 작성하는 알고리즘이나 코드 등에 대해서는 한 번 검증된 코드를 작성하고 이것만을 꾸준히 사용하기. 5.일관적이고 명료한 명명법 사용하기 -> int a그만 사용하기.. 6.모든 자료를 정규화해서 저장하기 7.코드와 데이터.. 2022. 3. 28.
[spring]스프링 핵심 원리 - 기본편 섹션 3 섹션 3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 Ctrl +shift +T를 누르면 다음과 같이 뜬다. 성공테스트도 중요하지만 실패테스트도 꼭 만들어 봐야한다. 어떻게 해결할까? AppConfig -애플리케이션의 전체 동작 방식을 구성하기 위해, "구현 객체를 생성"하고,"연결"하는 책임을 가지는 별도의 설정 클래스를 만들자 package hello.core; import hello.core.discount.FixDiscountPolicy; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import he.. 2022. 3. 26.
[백준]11723집합 c++ 비트마스크를 몰라서 그냥 풀어봤는데 맞았다. 그냥 조건에 맞추어서 배열 값을 변경해주면 되는 문제였다. 비트마스킹 연산 안한 버전 #include #include using namespace std; bool bit[21]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int M; cin >> M; int count = 0; /*add x : S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다. remove x : S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다. check x : S에 x가 있으면 1을, 없으면 0을 출력한다. (1.. 2022. 3. 26.
[spring]스프링 핵심 원리 - 기본편 - 섹션2 (스프링 핵심 원리 이해1 - 예제만들기) Alt + Insert 가안된다. 검색해서 이거저것 고쳐보다가 한/영 키가 작동이 안되어서 원래대로 고치려고 애썼다. 다른 단축키는 잘 되는데 왜 이것만 안될까. Alt +Insert ->generate 관례 : 구현체가 하나만 있을 때는 인터페이스 명 뒤에 Impl이라고 많이 쓴다. 이 상태에서 enter만 누르면 ; 이 안찍혀 있는데 ctrl + shift +enter 누르면 아래와 같이 된다. join에서 save를 호출하면 다형성에 의해서 MemberRepository 인터페이스가 아니라 MemoryMemberRepository에 있는 save가 호출이 된다. junit 사용한 방식 . 녹색 불이 뜨면 성공 OrderApp 에서 run 실행이 안되가지고 구글링 하다가 더 미궁 속으로 빠졌다.. 위.. 2022. 3. 24.