문제 링크https://leetcode.com/problems/valid-anagram/문제 설명두 개의 문자열 s와 t가 주어질 때, 문자열 t가 문자열 s의 애너그램(anagram)인지 여부를 확인하는 함수를 작성하세요. 애너그램이란, 한 문자열의 문자를 재배열하여 다른 문자열을 만들 수 있는 경우를 의미합니다. 두 문자열이 애너그램이라면, 두 문자열은 동일한 문자로 구성되어 있어야 하며, 각 문자의 개수도 같아야 합니다.예제예제 1입력: s = "anagram", t = "nagaram"출력: true예제 2입력: s = "rat", t = "car"출력: false풀이 전략애너그램을 확인하기 위해 다음과 같은 접근 방법을 사용할 수 있습니다.문자 개수 비교: 두 문자열의 각 문자가 몇 번 나타나는..
문제 링크https://leetcode.com/problems/merge-two-sorted-lists/문제 설명두 개의 정렬된 연결 리스트 list1과 list2의 헤드가 주어질 때, 이 두 리스트를 하나의 정렬된 리스트로 병합하여 반환하는 함수를 작성하세요. 병합된 리스트는 첫 번째 두 리스트의 노드를 연결하여 만들어야 합니다.출력: 병합된 정렬된 연결 리스트의 헤드예제예제 1입력: list1 = [1,2,4], list2 = [1,3,4]출력: [1,1,2,3,4,4]예제 2입력: list1 = [], list2 = []출력: []예제 3입력: list1 = [], list2 = [0]출력: [0]풀이 전략두 포인터 사용: 각 리스트의 노드를 가리키는 두 개의 포인터를 설정합니다. 이를 통해 두 리..
문제 링크https://leetcode.com/problems/linked-list-cycle/문제 설명단일 연결 리스트의 head가 주어졌을 때, 이 리스트에 사이클이 있는지 여부를 확인하는 함수를 작성하세요.사이클의 정의: 사이클이 존재한다는 것은, 리스트의 어떤 노드에서 next 포인터를 따라 이동할 때 다시 그 노드로 돌아올 수 있는 구조를 의미합니다. pos는 연결 리스트의 마지막 노드가 가리키는 위치를 나타내며, 실제로 함수의 매개변수로 제공되지는 않습니다.출력: 사이클이 있으면 true를, 없으면 false를 반환합니다.예제예제 1입력: head = [3,2,0,-4], pos = 1출력: true설명: 리스트에 사이클이 존재하며, tail 노드가 1번째 노드에 연결되어 있습니다.예제 2입력..
문제 링크https://leetcode.com/problems/reverse-linked-list/문제 설명단일 연결 리스트의 head가 주어졌을 때, 이 리스트를 뒤집어서 반환하는 함수를 작성하세요.입력: 연결 리스트의 head (노드의 값으로 이루어진 단일 연결 리스트)출력: 뒤집힌 연결 리스트의 head예제예제 1입력: head = [1,2,3,4,5]출력: [5,4,3,2,1]예제 2입력: head = [1,2]출력: [2,1]예제 3입력: head = []출력: []풀이 전략연결 리스트를 뒤집기 위해서는 현재 노드와 이전 노드를 추적하면서, 현재 노드의 next 포인터를 이전 노드를 가리키도록 변경하는 방법을 사용할 수 있습니다.반복문을 통한 뒤집기:current 포인터를 head로 초기화하고,..
문제 링크https://leetcode.com/problems/climbing-stairs/문제 설명당신은 n 계단의 꼭대기에 도달하기 위해 계단을 올라가고 있습니다. 한 번에 1계단 또는 2계단을 오를 수 있다고 할 때, 꼭대기까지 오르는 서로 다른 방법의 수를 구하세요.입력: 정수 n (계단 수)출력: 꼭대기까지 오르는 서로 다른 방법의 수예제예제 1입력: n = 2출력: 2설명: 꼭대기까지 오르는 방법은 다음과 같습니다:1 계단 + 1 계단2 계단예제 2입력: n = 3출력: 3설명: 꼭대기까지 오르는 방법은 다음과 같습니다:1 계단 + 1 계단 + 1 계단1 계단 + 2 계단2 계단 + 1 계단풀이 전략이 문제는 피보나치 수열과 유사한 점화식을 통해 풀 수 있습니다. 계단의 맨 마지막 위치에 오르..
문제 링크https://leetcode.com/problems/reverse-bits/문제 설명32비트의 양의 정수 n이 주어졌을 때, 이 정수의 비트를 반대로 뒤집어 반환하는 함수를 작성하세요.입력: 정수 n (32비트)출력: 비트를 뒤집은 결과 정수예제예제 1입력: n = 00000010100101000001111010011100출력: 964176192 (00111001011110000010100101000000)설명: 입력된 이진수는 43261596을 나타내고, 이 비트를 뒤집으면 00111001011110000010100101000000이 되어 964176192를 반환합니다.예제 2입력: n = 11111111111111111111111111111101출력: 3221225471 (101111111..