전체 글

전체 글

    [알고리즘] 효율적인 배열/리스트 탐색을 위한 투 포인터와 슬라이딩 윈도우 알고리즘

    배열이나 리스트에서 특정 조건을 만족하는 부분을 효율적으로 탐색하는 알고리즘이다. 이 두 알고리즘은 비슷하다. 투 포인터 알고리즘 투 포인터 알고리즘이란? 배열이나 리스트에서 두 개의 포인터를 이용해 특정 조건을 만족하는 부분을 탐색하는 알고리즘이다. 주로 정렬된 배열이나 리스트에서 사용되며, 선형 시간 복잡도 O(N)를 갖는 장점이 있다. 동작 방식 시작 포인터와 끝 포인터를 배열의 양 끝으로 초기화 한다. 시작 포인터와 끝 포인터를 이동하면서 조건을 만족하는 부분을 탐색한다. 시작 포인터와 끝 포인터가 만나면 탐색을 종료한다. 사용 사례 배열에서 두 수의 합이 특정 값이 되는 경우를 찾을 때 배열에서 특정 조건을 만족하는 최단/최장 구간을 찾을 때 슬라이딩 윈도우 알고리즘 슬라이딩 윈도우 알고리즘이란..

    [백준] 1919 애너그램 만들기 [Java]

    https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 간만에 백준에 들어가서 문제를 풀었다. 기본기를 다시 다져야겠다는 생각으로 풀었는데 단순하게 생각하면 매우 쉽게 풀리는 문제였다. public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new java.io.InputStreamReader(System...

    [프로그래머스] 1차 보물지도 [Java]

    보물지도 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 공부시작했을때 처음풀어보는 1단계 문제였다. 그 때 몇시간 동안이나 고민하다가 풀었던 기억이 있다. 그로부터 5달이 지난 지금 다시 풀어볼까하고 풀어보았다. 문제를 보면 일단 10진수를 2진수로 바꿔야한다. 예전에는 일일이 나누어서 했지만, 검색해보니 Integer 클래스의 함수를 사용하면 쉽게 변환이 가능하다고 한다. Integer 클래스의 toBinaryString 함수를 사용하면 된다. 예를들어, int i = 127; String toTwo = Integer.toBinaryString(i..

    Copilot 과 유사한 기능을 하는 CodeWhishperer

    이번에 코엑스에서 한 AWS Summit Seoul 에서 들은 강연 중에 놀라운 기능을 발표해 그걸 한번 해봤다. 해당 링크에서 하라는 대로 하면 바로 적용된다. https://aws.amazon.com/ko/codewhisperer/ AI 코드 생성기 - Amazon CodeWhisperer - AWS CodeWhisperer는 사용자의 작업 방식에 꼭 맞습니다. Python, Java 및 JavaScript를 포함한 15개의 프로그래밍 언어와 VS Code, IntelliJ IDEA, AWS Cloud9 등의 선호하는 통합 개발 환경(IDE) 중에서 선택하세요. aws.amazon.com 개발자가 작업 흐름을 유지할 수 있도록 돕는 기능들이 점점 많이 출시되고 있고 매우 효과적이다. ex) Copil..