본문 바로가기

프로그래밍 언어(Programming Languages)53

[코딩 인터뷰] LeetCode - Two Pointers - 125. Valid Palindrome 안녕하세요 여러분! 🎉 오늘은 재미있고 흥미로운 프로그래밍 문제를 함께 풀어볼 거예요. 🚀 이번에 다룰 문제는 문자열이 회문(palindrome)인지 아닌지를 판별하는 문제입니다. 🧐 회문이란 앞으로 읽으나 뒤로 읽으나 동일한 문자열을 말해요. 문자열 처리 능력을 향상시키는 데 도움이 되는 문제죠! 📚 🎯 문제 설명: 주어진 문제는 문자열 s가 회문인지 판별하는 것입니다. 이때, 모든 대문자는 소문자로 변환되고, 비문자와 숫자가 아닌 문자들은 제거됩니다. 릿코드 문제보기 알아야 할 개념 공부하기 📘: 회문(Palindrome): 앞뒤가 똑같은 문자열. 예를 들어, 'radar', 'level' 등. 문자열 처리: Python에서 문자열을 소문자로 변환(lower()), 비문자 제거 등의 처리 방법. 문자.. 2024. 1. 1.
[알고리즘] 보이어-무어 다수결 알고리즘 - Boyer-Moore Majority Vote Algorithm 안녕하세요, 오늘은 프로그래밍과 알고리즘의 흥미진진한 세계에서 매우 중요한 주제인 '보이어-무어 다수결 알고리즘'을 살펴보려고 합니다. 🧐 이 알고리즘은 코딩 인터뷰에서 자주 마주치는 다양한 문제들, 특히 배열에서 가장 많이 등장하는 요소를 찾는 문제를 효율적으로 해결하는 데 큰 도움을 줍니다. 🎓 🧐 Boyer-Moore Majority Vote Algorithm 이란? 이 알고리즘은 1981년 Robert S. Boyer와 J Strother Moore가 개발했어요. 목적: 주어진 배열에서 과반수를 차지하는 요소를 효율적으로 찾는 것입니다. 특징: 배열을 한 번만 순회하면서 과반수 요소를 찾아낼 수 있어요. 🔍 작동 원리 변수 설정: '후보 요소(candidate)'와 '카운터(count)' 두 가지.. 2023. 12. 29.
[코딩 인터뷰] LeetCode - Array/Strings - 169. Majority Element 안녕하세요, 코딩 인터뷰를 준비하시는 여러분! 오늘 다뤄볼 문제는 "169. Majority Element"입니다. 이 문제는 배열에서 가장 많이 등장하는 요소, 즉 다수의 요소를 찾는 것으로, 코딩 인터뷰에서 자주 등장하는 유형 중 하나입니다. 🎓 이 문제를 해결하기 위해서는 배열 순회부터 해시 테이블, 보이어-무어 다수결 알고리즘, 분할 정복까지 다양한 프로그래밍 개념을 이해하고 적용할 필요가 있습니다. 🧠 이 글에서는 이러한 개념들을 실제 문제에 어떻게 적용하는지 알아보겠습니다. 🎯 문제 설명 "169. Majority Element" 문제는 주어진 크기의 배열 nums에서 다수의 요소(메이저리티 엘리먼트)를 찾아내는 것입니다. 메이저리티 엘리먼트는 배열 내에서 ⌊n / 2⌋번 이상 나타나는 요소를.. 2023. 12. 28.
[코딩 인터뷰] LeetCode - Array/String - 26. Remove Duplicates from Sorted Array 안녕하세요, 코딩 열정 가득한 여러분! 🚀 오늘은 LeetCode의 매력적인 문제 '26. Remove Duplicates from Sorted Array'를 함께 풀어볼 시간이에요. 🎉 이 문제는 정렬된 배열에서 중복을 제거하는 방법을 배울 수 있는 완벽한 기회랍니다. 배열을 다루는 기초부터 효율적인 알고리즘까지, 모두 이번 문제에서 만날 수 있어요. 🤖💡 준비되셨나요? 코드와 함께 문제를 해결해봅시다! 🎯 문제 설명 이 문제는 비감소 순서로 정렬된 정수 배열 nums에서 중복을 제거하는 것입니다. 😲 중요한 것은, 이 작업을 "제자리"에서 수행하고, 각 고유 요소가 한 번씩만 나타나야 한다는 거예요. 또한, 고유 요소의 수 k를 반환해야 합니다. 문제보기 알아야 할 개념 공부하기 📘 투 포인터 기법:.. 2023. 12. 27.