Algorithm

    [Leetcode] 118 Pascal's Triangle [Java]

    https://leetcode.com/problems/pascals-triangle/ Pascal's Triangle - LeetCode Can you solve this real interview question? Pascal's Triangle - Given an integer numRows, return the first numRows of Pascal's triangle. In Pascal's triangle, each number is the sum of the two numbers directly above it as shown: [https://upload.wikimedia.o leetcode.com 재밌어 보여서 풀었다. ㅋㅋㅋ 그림에서 보는 거와 같이 List안에 List를 하나 더 만들..

    [백준] 3273 두 수의 합 [Java]

    https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 요즘 강의를 들으면서 문제를 풀고 있는데 시간초과로 인해 틀리는 경우가 많아지고 있다... 이 문제도 풀면서 어 이중포문으로 풀면 쉬울거 같은데? 하면서 이것도 시간초과 되려나 생각했지만 역시나 시간초과였다.. 아직 기본적인 문제만 풀 줄 알아서 검색해봤다. 이 문제는 투 포인터 라는 알고리즘을 사용한다. 투 포인터란? 투 포인터 투 포인터 ..

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

    배열이나 리스트에서 특정 조건을 만족하는 부분을 효율적으로 탐색하는 알고리즘이다. 이 두 알고리즘은 비슷하다. 투 포인터 알고리즘 투 포인터 알고리즘이란? 배열이나 리스트에서 두 개의 포인터를 이용해 특정 조건을 만족하는 부분을 탐색하는 알고리즘이다. 주로 정렬된 배열이나 리스트에서 사용되며, 선형 시간 복잡도 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...