2025/04/11 2

[반복문] LeetCode 125번 문제 학습

문제 설명Valid Palindrome 문제는 주어진 문자열이 회문(Palindrome)인지 아닌지 판단하는 거임. 회문이 뭐냐면, 문자열을 뒤집어도 똑같은 거. 예를 들어, "racecar"는 회문이지만 "hello"는 아님.근데 이 문제엔 조건이 좀 붙음:대소문자 구분 안 함. 즉, 'A'랑 'a'는 같은 거로 취급.특수문자, 공백, 기호는 무시. 알파벳이랑 숫자만 신경 쓰면 됨.예를 들어, "A man, a plan, a canal: Panama"는 다 정리하고 나면 "amanaplanacanalpanama"가 돼서 회문이 맞음.또 다른 예로, "race a car"는 "raceacar"가 돼서 회문이 아님.결론적으로, 문자열을 정리한 다음에 회문인지 체크해야 함.문제를 푼 과정소문자를 대문자로 변..

leetcode , 백준 2025.04.11

[반복문] LeetCode 121번 문제 학습

문제를 푼 과정 처음엔 완전 탐색으로 구현해봤음→ 모든 날짜 쌍을 비교해서 최대 이익을 구하는 방식→ 작은 입력엔 잘 돌아가지만 큰 입력에서 느려짐그래서 최적화된 알고리즘으로 개선함→ 지금까지 본 가장 싼 가격(minPrice) 을 저장해두고→ 현재 가격 - minPrice 로 이익을 계산해서 최대값을 업데이트함→ 이러면 한 번의 순회로 해결 가능해서 시간복잡도 O(n)임 문제에 대한 설명주어진 배열 prices는 각 날짜의 주식 가격을 의미함.이 중 하루를 골라 주식을 사고, 그 이후 중 하루를 골라 팔아서얻을 수 있는 최대 이익을 구하는 문제임.조건은 단순함:한 번만 사고, 한 번만 팔 수 있음무조건 나중에 사는 게 아님. 산 날보다 뒤에 팔아야 함문제를 풀려면 어떤 알고리즘을 써야 하는지처음 떠오를..

leetcode , 백준 2025.04.11