전체 글 (237) 썸네일형 리스트형 LeetCode 771. Jewels and Stones 자바 문제 풀이 문제 Jewels and Stones - LeetCode 문제 해결 방법 이 문제는 입력된 스트링에 입력된 또다른 스트링의 각 문자가 존재하는지 확인 하는 문제입니다. 각각 한번씩은 확인할수 밖에 없으므로, O(n^2)입니다. 기초적인 문자열을 다루는 법을 아느냐고 묻는 문제입니다. 아래와 같이 풀기 위해서, toCharArray() 메서드에 대해서 알아야 하며, char타입 비교를 위해서 자바의 데이터 타입에 대하여 알아야 합니다. 자바의 Primitive 데이터 타입과 Reference 데이터 타입 Github Link https://github.com/eunhanlee/LeetCode_771_JewelsandStones_Solution.git 시간복잡도: O(n^2), 공간복잡도: O(1) clas.. LeetCode 35. Search Insert Position 자바 문제 풀이 문제 Search Insert Position - LeetCode 문제 해결 방법 주어진 문제의 잇풋은 정렬된 어레이입니다. O(log n)안에 풀어야 된다는 조건이 있습니다. 이미 정렬된 리스트에서 log n으로 찾는 방법은 이진검색(binary search)뿐입니다. 이 문제는 이진검색에 대해서 잘 알고, 이를 구현할수 있느냐고 묻는 문제입니다. 또한 이진검색을 구현시, 재귀함수를 사용할지 반복문을 사용할지 선택해야 합니다. 이 문제는 이전단계의 결과가 필요하지 않고, 하위문제로 분리할 필요도 없으므로, 반복문으로 구현하는것이 효과적입니다. 값을 찾지 못했을떄, 가장 가까운 값을 리턴해야 하므로, low값을 리턴합니다. mid값은 변경전이고, mid값에서 2를 나누고 남은 값은 버림을 하므로, hig.. LeetCode 1603. Design Parking System 자바 문제 풀이 문제 Design Parking System - LeetCode 문제 해결 방법 자바 오브젝트 생성을 할수 있느냐고 묻는 문제 입니다. 1번 답은 기본적인 오브젝트 생성이며, 협업하고, 나중에 업데이트 하기 좋은 코드 입니다. 2번 답은 이 문제에 있어서 매우 효율적이지만, 나중에 업데이트하기 어려운 코드 입니다. Github Link https://github.com/eunhanlee/LeetCode_1603_DesignParkingSystem_Solution.git 1번 답 class ParkingSystem { private int bigSlots; // 대형 차량용 사용 가능한 슬롯 수 private int mediumSlots; // 중형 차량용 사용 가능한 슬롯 수 private int sma.. 단축 평가 계산(Short Circuit Evaluation)이란 Short Circuit Evaluation이란? Short Circuit Evaluation이란 AND 혹은 OR의 연산에 있어서 결과가 확실하게 예측이 되었을 때 뒤에 나머지 연산을 실행하지 않고 답을 내버리는 경우를 의미합니다. 적용되는 프로그래밍 언어 일부만 적용된다고 하는데, 현재 2023년 기준으로 C,C++,JAVA,Python는 적용되는것을 확인. AND 연산의 경우 AND연산의 경우에 false가 우선 나와버리면 AND 뒤에 나오는 연산은 생략이됩니다. OR 연산의 경우 OR연산의 경우에 true가 우선 나와버리면 OR 뒤에 나오는 연산은 생략이됩니다 자바 오브젝트 생성시, this 키워드를 사용하는 이유 질문 자바에서 this를 사용하는 것과 사용하지 않는 것의 차이점은 무엇인가요? 개요 this를 사용하는 것과 사용하지 않는 것은 변수 충돌 방지, 메서드 체이닝, 가독성과 명확성 측면에서 차이가 있습니다. 이유 변수 충돌 방지: 메서드의 매개변수 이름과 인스턴스 변수 이름이 같은 경우 this를 사용하여 인스턴스 변수와 매개변수를 구분할 수 있습니다. 메서드 체이닝: this를 반환하여 같은 객체에서 연속적으로 메서드를 호출할 수 있습니다. 가독성과 명확성: this를 사용하면 인스턴스 변수나 메서드를 명확하게 참조할 수 있어 코드의 가독성과 명확성을 향상시킬 수 있습니다. 차이점 this를 사용할 경우: public class MyClass { private int value; public void .. burp suite으로 응답변조 하는 법 응답 변조 응답변조를 하는 burp suite의 방법은 두가지가 있습니다. 응답을 intercept한다음 응답코드자체를 수정하는것 proxy setting에서 셋팅을 하여, 어떤 코드가 오면 다르게 변조하도록 설정하기 응답을 intercept한다음 응답코드자체를 수정하는것 proxy-intercept-open browser 열린 크로니움으로 원하는 싸이트 접속 intercept is off를 클릭하여, intercept is on으로 변경 중간 요청을 가로채서 forward를 누르기 전까진 요청이 멈춰있음 멈춰 있을떄, 오른쪽 클릭-do intercept-response to this request를 클릭 그리고 forward를 누르면, 응답한 내용이 크로니움 브라우저에 표시되지 않고 멈춰있음. 이때 이.. 개발자 도구로 자바스크립트 함수 요청 하는 법 요청 하는 법 웹페이지에서 개발자 도구를 연다. (크롬이라면 f12) console로 이동한다. 자바스크립트 함수를 입력한다. 아래 예제라면 goMenu('1018','admin');이다. 엔터를 누르면 실행된다. 예제 자바 스트립트 코드 function user_auth_check(needLevel, userLevel){ if(needLevel == userLevel){ return true; }else{ return false; } } function goMenu(code, userLevel){ switch (code){ case '1018': if(user_auth_check('admin',userLevel)){ location.href="./fire_nuclear_Attack.php"; break.. LeetCode 116. Populating Next Right Pointers in Each Node 자바 문제 풀이 문제 Populating Next Right Pointers in Each Node - LeetCode 문제 해결 방법 기본적인 트리가 주어지고, 이를 연결하는 문제입니다. level order을 돌며, 각 노드를 연결하는 알고리즘이 필요합니다. 문제에서 perfect binary tree라고 하였습니다., 즉 비어있는 노드는 존재하지 않습니다. level 1일때, level2를 모두 연결합니다. 트리의 가장 왼쪽 노드를 levelStart로 설정합니다. 다음 노드와 연결합니다.(상위 레벨이 이미 연결되있으므로, 이동이 쉽습니다.) 다음 노드의 왼쪽노드가 존재하지 않는다면, 현재 레벨은 모두 연결이 끝난것입니다. BFS=level order, 재귀함수를 사용가능합니다. 재귀함수는 복잡한 작업을 단순화할 .. 이전 1 ··· 5 6 7 8 9 10 11 ··· 30 다음