🥕 [ 백준 10942 ] 팰린드롬?문제 링크url : https://school.programmers.co.kr/learn/courses/30/lessons/258711 🍒 문제 분석그래프 유형 1. 도넛- n개의 정점과 n개의 간선- cycle 이룸 그래프 유형 2. 막대- n개의 정점과 n-1개의 간선- 출발점과 도착점 존재 그래프 유형 3. 8자 그래프- 2n + 1의 정점과 2n+2개의 간선- 2개의 도넛이 정점을 하나 씩 두고 결합 ( 2 개 Cycle ) 입출력 예답안) [ 정점 번호, 도넛 수, 막대 수, 8자 수 ] 그래프 들을 연결하는 정점 좌표와, 각 그래프들의 개수를 구하는 문제. 🍓 내 해결 과정너무 오랜만에 문제를 푸려니 어떻게 풀어야할지 모르겠어서 아래의 블로그를 참고..
🥕 [문자열 조작] 로그파일 재정렬문제 링크url : https://leetcode.com/problems/reorder-data-in-log-files/ 🍒 문제 분석로그 가장 앞부분은 식별자문자로 구성된 로그가 숫자 로그보다 앞에 온다.사전순으로 문자를 정렬한다.문자가 동일한 경우, 식별자 순으로 정렬한다.숫자 로그는 입력 순서대로 정렬한다. 🍓 내 해결 과정숫자열과 문자열을 쪼갠 뒤, 문자열을 정렬한 뒤 합침 🥑 틀린 답안class Solution: def reorderLogFiles(self, logs: List[str]) -> List[str]: let, dig = [], [] for ls in logs: if ls.split()[1].i..
🥕 [문자열 조작] 팰린드롬문제 링크url : https://leetcode.com/problems/valid-palindrome/ 🍒 문제 분석알파벳과 숫자를 제외한 문자열 제거이후 화순 문자인지 확인 ( 'heh' 와 같이 앞뒤로 같은 언어 인지 ) 🍓 내 해결 과정ord를 사용해 알파벳, 숫자 여부를 확인하여 리스트에 추가만든 리스트를 join을 사용해 합침리스트 슬라이싱으로 비교 🥑 내 풀이class Solution(object): def isPalindrome(self, s): """ :type s: str :rtype: bool """ s = s.lower() tmp = [] for i in s..
🥕 [ 백준 19238 ] 스타트 택시문제 링크url : https://www.acmicpc.net/problem/19238 🍒 문제 분석1. 승객을 태워서 도착지에 가면, 소모한 연료의 두배 충전.2. 승객을 태우러 갈 때는, 연료 소모만 함.2. 중간에 연료 바닥 시 영업 종료 3. 우선순위 현재 위치에서 최단 거리 가장 짧은 승객 행 번호가 가장 작은 승객 열 번호가 가장 작은 승객 🍓 내 해결 과정1. 승객을 태우러 가는 bfs와 승객을 태우고 가는 bfs로 함수를 구분함.2. 승객을 태우는 우선 순위를 구분하기 위해, 조건에 맞는 승객을 passengers 리스트에 태움3. 승객의 위치에 해당하는 격자에다가 승객의 회원번호를 저장함 ( 음수 값으로 해서 )4. 승객의 ..