전체 글

[필수 알고리즘] 재귀호출 기본 -백트래킹(Backtracking)
백트래킹 알고리즘 백트래킹(Backtracking) 위 단어를 그대로 해석하고 이해하면 된다.좀더 알고리즘적으로 설명하자면, 어떤 노드의 '유망성'을 판단한 뒤, 해당 노드가 유망하지 않다면 부모 노드로 돌아가 다른 자식 노드를 찾는 방법이다. 즉, 모든 경우의 수를 찾아보지만, 그 중에서도 가능성만 있는 경우의 수만 찾아보는 방법이다. 백트래킹, 그리고 DFS(깊이우선탐색)를 혼동하는 경우가 있어 이에 대해 정리를 한 번 하고 가는게 좋다. 예로들어 이러한 문제가 있다고 가정해보자. " a + b + c + d = 20 을 만족하는 두 수를 모두 찾아내시오. ( 0 ≤ a ,b ,c ,d < 100) " 백트래킹은 앞서 말했듯이 해당 노드의 유망성을 판단한다고 했다. 이 말은 즉 해당 범위 내에서 조건..

[Java Spring] 결제 시스템 (Iamport api) 활용기 2 - 자격증 공부를 위한 사이트 자바스 개발 회고록
이번 포스팅에는 아이엠포트 테스트 결제 후 결제정보 저장. 화면이동, 결제 리스트 확인, 결제 취소(환불)를 다루겠습니다. 저번 아이엠포트 활용기 1과 같이 봐주시면 좋을 것 같아요 ! https://cobi-98.tistory.com/20 Java Spring) 자격증 공부를 위한 사이트 자바스 개발 회고록 - 결제 api (iamport api) 활용기 - 1 자바스 개발 구축 환경 해당 프로젝트는 Spring Legacy Project로 sts-3.9 버전을 사용하였습니다. 주제 자격증을 공부하기 위해 정보를 얻고 싶은 취준생들을 위한 사이트이다. 자신이 원하는 자격증을 cobi-98.tistory.com 주문, 결제 정보 저장 @RequestMapping(value ="complete", meth..

[Java Spring] 결제 시스템 (Iamport api) 활용기 1 - 자격증 공부를 위한 사이트 자바스 개발 회고록
자바스 개발 구축 환경 해당 프로젝트는 Spring Legacy Project로 sts-3.9 버전을 사용하였습니다. 주제 자격증을 공부하기 위해 정보를 얻고 싶은 취준생들을 위한 사이트이다. 자신이 원하는 자격증을 검색하여 교재, 동영상, 관심 있는 자격증을 등록할 수 있고, 홈페이지에 시험 d-day를 확인하도록 도와준다. 회원들끼리 정보를 공유할 수 있으며, 가까운 지역의 스터디카페를 추천해 준다. 나의 개발 파트 로그인(auth) 회원, 관리자 (등급 분배) 관리자 관리자 번호로 회원 등급 조절 회원 결제정보 확인, 취소 스터디카페 예약 시 결제 상품결제 결제수단 선택 결제 후 날짜변경 결제 취소 결제 api를 사용할 때 내가 고민을 많이 했던 부분과 참조한 부분을 정리하여 기록을 남기면 좋을 것..

[프로그래머스 / Java] Lv2 - 영어 끝말잇기
🔒 영어 끝말잇기 ✔ 문제 설명 🚩 요구사항 분석 substring을 이용해 앞사람이 말한 마지막 문자 체크 임의의 count 변수를 활용해 인원수와 같으면 차례를 추가해 탈락자 확인 🔑 문제풀이 class Solution { public int[] solution(int n, String[] words) { int[] answer = new int[2]; List gameList = new ArrayList(); int count = 0; int care = 1; for(int i = 0; i

[프로그래머스 / Java] Lv2 - 짝지어 제거하기
🔒 짝지어 제거하기 ✔ 문제 설명 🚩 요구사항 분석 스택을활용해 스택이 비어있지않고 peek 스택 값이 같다면 지우는 방식을 진행했다. 🔑 문제풀이 import java.util.Stack; class Solution { public int solution(String s) { int answer = 0; Stack stack = new Stack(); //1. 문자제거하기 for (int i=0; i < s.length(); i++){ char c = s.charAt(i); // 현재 스택이 비어있지않고 peek 스택의 최상위 값이 c와 같다면 pop if(!stack.isEmpty() && stack.peek() == c){ stack.pop(); }else{ stack.push(c); } } ans..