알고리즘 정리

자바(Java) 알고리즘 문제풀이 공주 구하기 [인프런 / Queue]
강의의 문제를 가져왔기 때문에 밝힙니다 ! 임의로 추가, 수정, 삭제한 내용들이 있으니 정확한 이해를 위해서는 강의를 구매하시는 것을 추천드립니다 😅 출처 : 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 (인프런 강의) 1) 공주 구하기 수건 돌리기와 비슷한? 문제였다. N 명의 사람 중 K 라는 특정 수를 외치면 그 사람은 빠지고 한 사람이 남을 때 까지 이어서 진행, 그 사람을 구해내면 되는 간단한 문제였다. 예를 들어 N = 4 / K = 2 라면, [1, 2, 3, 4] -> [1, 3, 4] -> [1, 3] -> [1] 로 진행되어 1번 사람이 마지막에 남게된다. 헷갈렸던 부분은 특정 수를 외친 사람이 빠지고 다시 1부터 세야하는 부분 ? 이 조금 헷갈렸지만, Queue 를 사용해 특..

자바(Java) 알고리즘 문제풀이 쇠막대기 [인프런 / Stack]
강의의 문제를 가져왔기 때문에 밝힙니다 ! 임의로 추가, 수정, 삭제한 내용들이 있으니 정확한 이해를 위해서는 강의를 구매하시는 것을 추천드립니다 😅 출처 : 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 (인프런 강의) 1) 쇠막대기 문제를 처음 봤을 땐 길기도 하고 복잡하게 보여서 꽤나 긴장했었는데, 차근차근 그림을 그려가며 보니 Stack 을 사용한다면 꽤나 간단히 풀 수 있는 문제였다. 열린 괄호를 계속해서 넣어주다가 닫힌 괄호가 등장했을 때 레이저가 만들어지는지 막대기가 나오는지 구별하면 된다. 처음 시도에서는 stack.peek() 을 활용해 풀이했는데 틀려서 디버깅 후 겨우 원인을 찾을 수 있었는데 ,, 1-1) peek() 을 활용한 첫번째 풀이 (오답) 닫힌 괄호가 등장했을 때, ..

자바(Java) 알고리즘 문제풀이 올바른 괄호,괄호문자제거 [인프런 / Stack]
강의의 문제를 가져왔기 때문에 밝힙니다 ! 임의로 추가, 수정, 삭제한 내용들이 있으니 정확한 이해를 위해서는 강의를 구매하시는 것을 추천드립니다 😅 출처 : 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 (인프런 강의) 이번에도 따로 강의를 보지 않고 문제만 풀었음 ㅎ_ㅎ 정답이긴 하지만 강의 코드와 다를 수 있습니다 ! 1) 올바른 괄호 Stack 자료구조를 활용하면 빠르게 풀어낼 수 있다. 예전에는 Input 받은 문자열을 split() 메서드를 통해 배열로 만들었는데, toCharArray() 메서드를 활용하면 효율성 테스트 또한 통과할 수 있다고는 하는데 .. 그런 제약 없으면 아무 방법이나 사용해도 무방할 듯 하다. answer 를 YES 값으로 셋팅하고, 분기문을 따라 내려가면서 NO..

자바(Java) 알고리즘 문제풀이 매출액의 종류 [인프런 / Hash]
강의의 문제를 가져왔기 때문에 밝힙니다 ! 임의로 추가, 수정, 삭제한 내용들이 있으니 정확한 이해를 위해서는 강의를 구매하시는 것을 추천드립니다 😅 출처 : 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 (인프런 강의) 1) 강의 보기 전의 풀이 연속된 구간, 종류 등의 단어가 나오는 것으로 보아, 슬라이딩 윈도우, 투포인터 알고리즘과 HashMap 을 적절히 사용해서 풀면 된다고 생각했다. 항상 헷갈렸는데, 슬라이딩 윈도우를 적용해서 풀이할 때는 항상 최초 윈도우를 잘 설정해야 한다는 점 ..! 아래 코드를 보면 rt 값을 k - 1 로 설정해줬는데, rt = k 로 해버리면 최초 윈도우가 아니게되므로 꼭 꼭 주의하자. 그리고 항상 Value 가 0 인 값을 체크해서 제거해주면 된다. 강의를 ..

자바(Java) 알고리즘 문제풀이 아나그램 [인프런 / Hash]
강의의 문제를 가져왔기 때문에 밝힙니다 ! 임의로 추가, 수정, 삭제한 내용들이 있으니 정확한 이해를 위해서는 강의를 구매하시는 것을 추천드립니다 😅 출처 : 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 (인프런 강의) 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com 1) 강의 보기 전의 풀이 일단 이전 강의에서 얻은 HashMap 의 getOrDeault() 메서드를 사용해서 두 개의 Map 을 설정해줬다. 그리고 Key 를 하나 가져와서 두 ..