분류 전체보기49 [BOJ]1316 그룹단어체커 중복이라 하여 map을 생각했다. 내가 map을 생각할 때면 락커룸에 이름 태그를 붙인 책들이 연상된다. 그래서 python에서는 dictionary라고 부르는 것 같다. 코드에서 핵심은 단어를 정직하게 순회하는 것이다. 그리고 boolean으로 이 책들의 상태를 어떠한 로직으로 하자가 있는지 없는지 판단하는 method문을 짠다. package BOJ1316_그룹단어체커; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; public class Main { static int N; static Strin.. 2023. 6. 22. [이론 노트]단순조합과 단순재귀 2023. 6. 19. [알고리즘 문제 해결 전략] 20장 문자열 짚더미에서 바늘찾기 주어진 긴 '짚더미(haystack)' 문자열 H가 '바늘(needle)' 문자열 N을 부분 문자열로 포함하는지 확인하고, 포함한다면 N과 일치하는 부분 문자열의 시작 위치를 찾는 문제를 문자열 검색 문제라고 한다. 예를 들어 H="avava"는 N="ava"를 두 번 포함하며, 각각의 시작 위치는 0,2이다. import java.util.ArrayList; import java.util.List; public class NaiveSearch { // '짚더미'H의 부분 문자열로 '바늘'N이 출현하는 시작 위치들을 모두 반환한다. public static List naiveSearch(String H, String N) { List ret = new ArrayList(); // 모든.. 2023. 6. 16. [Git]Git Flow와 GitHub Flow 왜? 많은 사람들과 일을 할 때, 새로운 코드를 통합하기 위해서는 형상관리 flow의 이해가 필요하다. 크게는 Git Flow와 GitHub Flow를 많이 쓰기 때문에 이 두 개에 대해 짤막하게 알아보자. Git Flow Git Flow는 Vincent Driessen 이 제안한 브랜치 관리 전략으로, 여러 개발자가 같은 프로젝트를 진행할 때 효과적으로 관리하도록 도와준다. Git Flow에서는 브랜치를 다음과 같이 5가지 유형으로 분류한다. Master(main): 항상 준비된 배포 가능한 상태의 브랜치이다. Develop: 개발자들이 일하는 브랜치, 여기서 기능을 추가하고 버그를 수정한다. Feature: 개별 기능 개발을 위한 브랜치, Develop에서 분기하고 Develop에 병합한다. Rele.. 2023. 6. 14. 이전 1 ··· 8 9 10 11 12 13 다음