[PS] LeetCode: Two Sum II - Input Array Is Sorted
·
PS
오늘은 LeetCode의 Two Sum II - Input Array Is Sorted 문제를 풀어보겠습니다. 1. 문제오름차순으로 정렬된 `numbers`라는 정수 배열이 주어졌습니다. (인덱스 1부터 시작) 더해서 `target` 숫자가 되는 두 숫자를 찾아 인덱스를 반환해주세요. 답을 만족하는 케이스는 한 가지밖에 없고, 같은 원소를 두 번 사용하면 안됩니다. 2. 예제Input: numbers = [2,7,11,15], target = 9Output: [1,2]Input: numbers = [2, 3, 4], target = 6Output: [1,3] 3. 접근 방법3.1. 브루트 포스가장 단순한 방법은 배열에 있는 숫자 두 개로 만들 수 있는 모든 숫자 조합을 찾은 뒤, 이 숫자들이 조건을 만족..
[PS] LeetCode: Remove Duplicates from Sorted Array
·
PS
오늘은 LeetCode의 Remove Duplicates from Sorted Array 문제를 풀어보겠습니다. 문제정렬된 `nums`라는 정수 배열이 주어졌습니다. 추가 메모리를 사용하지 않고(in-place), 배열을 직접 수정해서 중복된 값을 제거해야 합니다. 최종적으로 고유한 원소의 개수 `k`를 반환하세요. 예제Input: nums = [1, 1, 2]Output: 2, nums = [1, 2, _]Input: nums = [0,0,1,1,1,2,2,3,3,4]Output: 5, nums = [0,1,2,3,4,_,_,_,_,_] 접근 방법이 문제의 핵심은 배열이 "정렬되어 있다"는 점입니다. 이 상황에서 같은 값들은 항상 서로 인접해 있기 때문에 이전 원소와만 비교해도 중복을 감지할 수 있습니..
[PS] 백준 1697번: 숨바꼭질
·
PS
오늘은 백준의 1697번 숨바꼭질 문제를 풀어보겠습니다.문제수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오.입력첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다.출력수빈이가 동생을 찾는 가장 빠른 시간을 출력한다.예제# Input:5 17..