Algorithm(19)
-
[Leetcode/Easy] 두 수의 합 (1. Two Sum, Swift)
https://leetcode.com/problems/two-sum/description/ 🤔 문제 설명덧셈하여 타깃 숫자를 만들 수 있는 배열의 두 숫자 인덱스를 반환하세요.입력된 nums에는 정확히 하나의 답이 있다고 가정하며, 또한 동일한 요소를 두 번 사용하지 않는다고 가정합니다.답은 임의의 순서로 반환할 수 있습니다.[2,7,11,15], target = 9// [0,1] 🧑🏻💻 첫 번째 풀이와 코드 (Swift ver.)단순하게 중첩 반복을 사용하기보다, 한 번의 반복에서 한 값을 가지고 target-num으로 나머지 한 값을 찾는 방법을 생각했다.값은 array.firstIndex(of: target-num) 문법을 사용해서 찾을 수 있었고,자기 자신을 찾는 경우는 생략하기 위해 조..
2024.07.01 -
[Leetcode/Medium] 그룹 애너그램 (49. Group Anagrams, Swift)
https://leetcode.com/problems/group-anagrams/description/ 🤔 문제 설명문자열 배열이 주어지면, 애너그램 단위로 그룹화하세요.애너그램(Anagram)이란 다른 단어나 구문의 글자를 재정렬하여 다른 뜻을 가진 단어로 바꾸는 것을 뜻합니다.(예시: '문전박대' -> '대박전문')strs = ["eat","tea","tan","ate","nat","bat"]// [["bat"],["nat","tan"],["ate","eat","tea"]] 💡 풀이입력으로 들어온 String Array를 반복하면서 해당 단어랑 같은 애너그램 단위로 그룹화할 수 있는 단어를 찾는 것이 이 문제의 핵심이었다.이때 단어를 sorted해주게 되면, 같은 애너그램 단위에서 나올 수 있는 ..
2024.06.30 -
[Leetcode/Easy] 유효한 팰린드롬 (125. Valid Palindrome, Swift)
https://leetcode.com/problems/valid-palindrome/description/ 🤔 문제 설명주어진 문자열이 팰린드롬이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 합니다. (영문자, 숫자가 아닌 문자는 모두 제거)참고) 팰린드롬이란 앞뒤가 똑같은 단어나 문장으로, 뒤집어도 같은 말이 되는 단어 또는 문장을 뜻합니다.(예시: '소주 만 병만 주소' -> 뒤집을 경우에도 '소주 만 병만 주소')"A man, a plan, a canal: Panama"# true ("amanaplanacanalpanama" is a palindrome.)"race a car"# false ("raceacar" "racaeca..
2024.06.27 -
[Python] 파이썬스럽게 코드 쓰기, Pythonic Code 내용 총정리
1. Overview, 파이썬 일반 코드와 파이썬스러운(Pythonic) 코드를 비교해보자!개발자라면, 빠질 수 없이 공부를 해야 되는 부분이 클린 코드와 관련된 점이다.이 클린 코드 관점에서 파이썬이라는 프로그래밍 언어는 굉장히 독특한 점을 갖고 있는데, 그것은 파이썬스러움이라는 단어를 보면 알 수 있다.파이썬스러운(Pythonic)이라 불리는 파이썬의 클린코드는 파이썬의 기능을 최대한 활용해서 코드를 짜는 것을 의미한다.사실 좋은 코드란 개념이 명확하게 딱 이거다 정해져 있는 것은 아니다.코드의 본질은 프로그램이 잘 동작하는 것이기 때문에.하지만, 여기에 본인을 포함한 다른 개발자가 읽기 쉽고, 유지보수까지 쉽다면, 가장 좋지 않겠는가.그래서 코드의 가독성과 일관성을 위해 우리는 파이썬스럽게(Pyth..
2024.05.04