본문 바로가기

자료구조&알고리즘/leetcode 풀이14

swift 리트코드 문제풀이 - leetcode 49 그룹 애너그램 swift 리트코드 문제풀이 - leetcode 49 그룹 애너그램 leetcode 49. Group Anagrams 문제 문자열 배열을 받아 애너그램 단위로 그룹핑을 하세요. 예제 Input: strs = ["eat","tea","tan","ate","nat","bat"] Output: [["bat"],["nat","tan"],["ate","eat","tea"]] 일단 애너그램이라는 용어가 생소할 수 있는데, 쉽게말하면 하나의 단어가 있으면 이 단어의 문자를 재배열 해서 다른 뜻을 가진 새로운 단어로 바꾸는 것임. [nat, tan] 을 보면은 a, n, t 문자가 하나씩 똑같이 들어있는것을 알 수 있음. 그리고 순서만 바뀌어서 그룹핑되어 있다는 것을 캐치할 수 있음. 그래서 단순히 떠오르는 아디어는 .. 2022. 7. 24.
swift 리트코드 문제풀이 - leetcode 819 가장 흔한 단어 swift 리트코드 문제풀이 - leetcode 819 가장 흔한 단어 leetcode 819. Most Common Word 문제 금지된 단어를 제외한 가장 많이 등장하는 단어를 출력하라. 대소문자 구분하지 않고, 마침표, 쉼표 등은 무시한다. 예제 Input: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"] Output: "ball" 문제파악을 해보자면 가장 많이 등장하는 단어를 출력하는 함수를 만들어야 된다. 인자는 두개가 되겠네. 하나는 "Bob hit a ball, the hit BALL flew far after it was hit." 이런 문자열 값이고 나머지 하나는 ["hit"] 이.. 2022. 7. 23.
swift 리트코드 문제풀이 - leetcode 937 로그 파일 재정렬 swift 리트코드 문제풀이 - leetcode 937 로그 파일 재정렬 문제 leetcode 937 - Reorder Data in Log Files 로그를 재정렬하라. 기준은 다음과 같다. -로그의 가장 앞 부분은 식별자이다. -문자로 구성된 로그가 숫자 로그보다 앞에 온다. -식별자는 순서에 영향을 끼치지 않지만, 문자가 동일한 경우 식별자 순으로 한다. -숫자 로그는 입력 순서대로 한다. -문자 로그는 사전 순으로 정렬한다. 예제1: Input: logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"] Output: ["let1 art can","let3 art zero","let2 own kit dig.. 2022. 7. 22.
swift 리트코드 문제풀이 - leetcode 344 문자열 뒤집기 swift 리트코드 문제풀이 - leetcode 344 문자열 뒤집기 문제 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라. 예제1: Input: s = ["h","e","l","l","o"] Output: ["o","l","l","e","h"] 예제 2: Input: s = ["H","a","n","n","a","h"] Output: ["h","a","n","n","a","H"] 문제를 보고 아 이번문제도 문자열을 뒤집는 문제구나 잠깐! 생각을 했음.. 알고리즘 문제가 그렇게 간단할리 없지.. 문제를 자세히 보면 리턴 없이! , 리스트 내부를 직접 조작! 이라는 말이 있다. 즉 이 문제는 새로운 배열을 할당하지 말고 배열의 포인터를 사용해서 배열 안의 .. 2022. 7. 21.
swift 리트코드 문제 풀기 - leetcode 유효한 팰린드롬 swift 리트코드 문제 풀기 - leetcode 유효한 팰린드롬 주어진 문제 주어진 문자열이 팰린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다. 예제1 Input: s = "A man, a plan, a canal: Panama" Output: true 설명: "amanaplanacanalpanama" is a palindrome. 예제2 Input: s = "race a car" Output: false 설명: "raceacar" is not a palindrome. 팰린드롬이란 거꾸로해도 똑같은 문자열이 되는 문자열이 되는 문장을 뜻함. 한글로 예를 들면 토마토, 기러기 같은 단어들이 있지. 주어진 문제가 대소문자를 구분하지 않고, 영문자와 숫자만을 대상으로 하는 .. 2022. 7. 20.