목록프로그래머스 (19)
개발 무지렁이
모음사전 / DFS ⚓ 🎠. for in 반복문에서 '문자열'도 문자 하나씩 빼올 수 있다. 🎠. python '슬라이싱(slicing)' 방법을 알아야 한다. 🎠. dfs 알고리즘을 구현할 줄 알아야 한다 => '종료조건 + 재귀적 확장' 🎠. '지역 네임스페이스' 내에서 '전역변수의 값의 할당'하는 방법을 알아야 한다 => 'global' vowels = 'AEIOU' cnt = 0 g_word = "" res = 0 def dfs(s): global cnt, res if s == g_word: # print("res:", cnt) res = cnt return cnt += 1 # print(s) # ..
피로도 / 완전탐색 순열 🍔 🎠. 'itertools 모듈'을 이용해 'permutations()' 메서드를 이용할 줄 알아야 한다 => '순열' 🎠. 'max() 빌트인 함수'를 이용해 '현재값'을 '이전값'과 비교해서, 큰 값을 '이전값'으로 넣어서 '최대값'을 찾는다. import itertools def solution(k, dungeons): length = len(dungeons) # 순열 res = itertools.permutations(dungeons, length) perm = list(res) # print(perm) prev = 0 for case in perm: fat..
소수찾기 / 순열 🍔 🎠. 'itertools 모듈'을 이용해 'permutations()' 내장 메서드를 이용할 줄 알아야 한다. => '순열' 🎠. '리스트'를 '문자열'로 변환할 줄 알아야 한다. => ' "".join(list) ' 🎠. 리스트의 '중복을 제거'하는 방법을 알아야 한다 => 'dict.fromkeys(list)' 🎠. '소수 찾는 알고리즘'을 구현할 줄 알아야 한다 => '에라토스테네스의 체' import itertools import math def is_prime(num): end = int(math.sqrt(num)) for i in ..
주차 요금 계산 / 구현문제 🚀 🪅. 'Class'를 이용해서 많은 양의 정보를 '하나의 단위'로 정리할 수 있어야 한다. 🪅. 'Comparable 인터페이스'와 '오버라이딩 메서드 compareTo'를 이용하여 정렬기준을 설정할 수 있어야 한다. 🪅. 올림 시, 'Math.ceil()'을 이용할 때, 'double로 계산'한 뒤 int로 '명시적 형변환'해서 사용해야 오차가 없다. 🪅. 'Map'으로 정보를 연결할 때, 내장메서드 '.containsKey()'를 이용하여, 이미 연결된 정보인지 아닌지를 확인할 수 있다. 🪅. Map의 모든 key를 순회할 때, 내장메서드 &..
미로 탈출 / 구현문제 🚀 🪅. BFS를 'Queue'를 이용하여 구현할 줄 알아야 한다. => 구현하면서 문제의 조건을 잘 따져서 넣어주어야 한다. 🪅. String의 내장 메서드 '.toCharArray()'를 사용하면 편리하다. 🪅. BFS의 '깊이(or Level)'를 구할 줄 알아야 한다. => queue의 'size()'와 'for문' 이용 import java.util.*; class Solution { char[][] gMaps; int cnt; int[] dx = {-1, 0, 1, 0}; int[] dy = {0, 1, 0, -1}; int flag = 0; public void calExitDist(int[] st..
개인정보 수집 유효기간 / 구현문제 🚀 🪅. dot(.)을 기준으로 문자열을 split할 때, 마침표를 표현할 수 있어야 한다. => \는 확장문자로 뒤에 일반문자를 특수문자로, 특수문자를 '그 문자 자체'로 인식한다. => \. 이 덩어리가 마침표를 의미함으로, 앞에 \를 하나 더 붙여 뒤에 \를 그 문자 자체로 인식하게 한다. => \\. 🪅. 'Map'으로 데이터를 연결하여 '정보에 대응되는 또 다른 정보'를 이용할 수 있어야 한다. 🪅. List를 'stream()'을 이용해서 바로 'int 배열'로 변환할 수 있으면 좋다 => stream().mapToInt(Integer::intValue).toArray(); import ..