전체 글

1. 문제2. 풀이 과정단순하게 풀기문자열을 한 문자씩 읽기같은 문자가 연속으로 나오면 문자열에서 그 부분 제외시키기문자열의 길이가 0이 될 때까지 혹은 문자열의 길이가 0이아닌데 문자열 길이의 변화가 없을 때 까지 반복문자열의 길이가 0이면 결과는 1, 그렇지 않다면 0스택으로 풀기문자열을 한 문자씩 읽기스택이 비어있거나 제일 위의 데이터와 다르면 해당 문자를 스택에 넣기제일 위의 데이터와 같으면 스택 pop 하기문자열을 돈 이후 스택이 비어있으면 1, 비어있지 않으면 03. 내 코드단순하게 풀기class Solution{ public int solution(String s) { int flag = 1; while(s.length() > 0) { ..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정먼저 올바른 괄호 문자열이 되는 기준부터 이해하고 가야한다( ), { }, [ ] A가 올바른 괄호일 때 (A), {A}, [A]A, B가 올바른 괄호일 때 AB즉, 닫힌괄호가 오려면 그 앞에 온 가장 최신의 열린괄호는 그 닫힌괄호와 짝을 이루는 열린괄호여야한다.또한 문자열을 왼쪽으로 회전한다는 말은 ABC -> BCA -> CAB처럼 맨 왼쪽에 있는 문자열이 맨 뒤로 가는 것을 말한다.코드 흐름문자열 s의 길이만큼 문자열을 회전시켜야 하므로 그만큼 for문을 돌림그 for문 안에 올바른 ..
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ예외로 인한 의존성 문제트랜잭션 AOP까지 적용하면서 서비스 계층에서 트랜잭션 로직을 완전히 떼어낼 수 있었다. 그렇다면 이제 서비스 계층은 순수한 비즈니스 로직 코드만 남은걸까? 한번 코드를 살펴보자@Slf4jpublic class MemberServiceV3_3 { private final MemberRepositoryV3 memberRepository; public MemberServiceV3_3(MemberRepositoryV3 memberRepository) { this.memberRepository = memberRepository; } @Transactional public voi..
Spring TransactionJDBC만으로 트랜잭션을 사용하면 몇가지 문제가 발생한다. 1. 서비스 계층에서 트랜잭션 코드로 인해 JDBC 코드가 작성된다.JDBC 코드에 의존하다보니 이후 JPA 등과 같이 다른 데이터 접근 기술을 사용한다면 코드 유지보수 하기가 힘들어진다. 또한 서비스 계층에는 다른 특정 구현 기술에 의존하면 안된다. 오직 순수한 자바 로직이 들어가야 한다.2. 트랜잭션 동기화 문제트랜잭션에 대한 커넥션을 유지하기 위해 리포지토리에 파라미터로 커넥션을 넘겨줬었다.이렇게 되면 리포지토리 코드에 트랜잭션용 기능 코드와 일반 기능 코드를 나누어서 작성해줘야 한다.3. 트랜잭션 적용 반복 문제트랜잭션으로 인해 상당히 많은 반복 코드가 발생하게 된다.try, catch, finally, c..
jaehee1113
나의 개발 발자취