Study with book

    [2020 카카오 블라인드 온라인 코딩 테스트] 괄호 변환

    [괄호 변환] programmers.co.kr/learn/courses/30/lessons/60058 풀고 느낀점 일단 문제에 대한 이해가 잘 안갔습니다. 결론은 문제 설명에서 주어진 내용을 그대로 구현하면 되는 거였는데, 뭔가 트릭일 수 있다는 생각이 들었습니다. 최근에 백준저지에서 문제에 있는 설명 그대로 코드를 구현했는데, 답은 제대로 나왔는데 Timeout 걸리는 예제들이 있었습니다. 이 문제도 그런 트릭이 있을 것이다라고 생각했습니다. 그런데 전혀 아니였네요....😭 문제에 대한 설명대로만 푼다면 한 20분정도(?) 걸렸던것 같습니다. 갠히 예제를 보면서 이해하려고 시간을 많이 버렸네요. 카카오 코테를 볼 때, 이런 유형인 경우 그냥 무조건 문제에 있는 설명대로 구현하기로 합시다!

    [2020 카카오 블라인드 온라인 코딩 테스트] 문자열 압축

    [문자열 압축] programmers.co.kr/learn/courses/30/lessons/60057 풀고 느낀점 간단하면서도 간단하지 않은 느낌이었습니다. 생각보다 푸는데 시간이 많이 들었습니다. 한 1시간정도 소요된 것 같습니다. 문제를 제대로 읽지 않아서 처음에 엉뚱한 방법으로 풀다가 문제를 잘못 읽은 것을 알고 다시 풀었습니다. 문제를 진짜 꼼꼼하게 읽어야할 것 같습니다. String 클래스의 startWith() 메소드를 활용해서 크기별로 계속 자르면서 List에 담았고 나중에 for문을 돌면서 가장 작은 String Length를 반환하도록 하였습니다. 첫 문제라서 쉽다고 생각하고 빨리 풀어야지 하다가 결국 더 오래 걸린 느낌입니다. 문제를 꼼꼼히 읽는 습관을 길어야 할 것 같습니다.

    [2019 카카오 블라인드 온라인 코딩 테스트] 후보키

    [후보키] https://programmers.co.kr/learn/courses/30/lessons/42890 풀고 느낀점 문제를 읽고 대충 부분집합 구해서 풀면 되겠구나 생각했는데, 부분집합 구하는걸 아무리 애를 써도 코딩이 잘 안됐습니다. 그래서 그냥 인터넷에 찾아서 복붙하고 (나중에 실제 코딩 테스트 볼 때 복붙해도 괜찮겠다는 생각입니다. 🤣) 한 반나절 걸려서 푼것 같습니다. 문제가 밑에 있어서 그런지 정답률이 상당히 낮았습니다. 문제에서 후보키 조건중에 유일성 / 최소성이 있는데, 여기서 최소성을 가리는데 contains() 메소드를 사용했는데, 18, 19, 20, 22 예제가 계속 틀리다고 나왔습니다. 그래서 그냥 collection으로 풀어서 cotainsAll() 메소드를 사용했는데 다..

    [카카오 코드 페스티벌 2018 예선] 인형들

    카카오 코드 페스티벌 2018 예선 [인형들] www.acmicpc.net/problem/15954 아.. 어렵다.. 문제도 이해 잘 안돼... 이틀 정도 고민해봤는데 계속 틀려서 그냥 올림...

    [백준]설탕 배달

    백준저지 [설탕 배달] www.acmicpc.net/problem/2839

    [백준]괄호

    백준저지 [괄호]www.acmicpc.net/problem/9012

    [백준]RGB거리

    백준저지 [RGB거리]www.acmicpc.net/problem/1149

    [백준]피보나치 함수

    백준저지 [피보나치 함수] www.acmicpc.net/problem/1003

    6장. AOP4

    6.6 트랜잭션 속성 6.6.1 트랜잭션 정의 트랜잭션 전파 트랜잭션 전파란 트랜잭션 경계에서 이미 진행 중인 트랜잭션이 있을 때 또는 없을 때 어떻게 동작할 것인가를 결정하는 방식을 말한다. 1. PROPAGATION_REQUIRED 가장 많이 사용되는 트랜잭션 속성이다. 진행 중인 트랜잭션이 없으면 새로 시작하고, 이미 시작된 트랜잭션이 있으면 이에 참여한다. DefaultTransactionDefinition의 트랜잭션 전파 속성은 바로 이 PROPAGATION_REQUIRED이다. 2. PROPAGATION_REQUIRED_NEW 항상 새로운 트랜잭션을 시작한다. 즉 앞에서 시작된 트랜잭션이 있든 없든 상관없이 새로운 트랜잭션을 만들어서 독자적으로 동작하게 한다. 3. PROPAGATION_NOT..

    6장. AOP3

    6.5 스프링 AOP 6.5.1 자동 프록시 생성 실습 코드 링크 : https://github.com/vvshinevv/toby-spring/tree/feature/6.5.1 프록시 팩토리 빈 방식의 접근 방법의 한계라고 생각했던 두 가지 문제가 있었다. 그 중에서 부가기능이 타깃 오브젝트마다 새로 만들어지는 문제는 스프링 ProxyFactoryBean의 어드바이스를 통해 해결됐다. 남은 것은 부가기능의 적용이 필요한 타깃 오브젝트마다 거의 비슷한 내용의 ProxyFactoryBean 빈 설정정보를 추가해주는 부분이다. 새로운 타깃이 등장했다고 해서 코드를 손댈 필요는 없어졌지만, 설정은 매번 복사해서 붙이고 target 프로퍼티의 내용을 수정해줘야 한다. 중복 문제의 접근 방법 반복적인 프록시의 메소..