알고리즘
-
[Algorithm - 프로그래머스] Python 숫자 문자열과 영단어Programming/Algorithm 2021. 10. 21. 00:40
문제 (LV.1) https://programmers.co.kr/learn/courses/30/lessons/81301 코드 def solution(s): answer = '' num = {"zero" : '0', "one" : '1', "two" : '2', "three" : '3' , "four" : '4', "five" : '5', "six" : '6', "seven" : '7' , "eight" : '8', "nine" : '9' } tmp_words = "" for i in s: if i.isdigit(): answer += i continue tmp_words += i if tmp_words in num.keys(): # dictionary key 안에 단어가 존재한다면 answer += nu..
-
[Algorithm] Python 강남역 폭우Programming/Algorithm 2021. 9. 22. 22:13
* 본 문제는 코드잇에서 제공하는 문제이므로 자세한 문제 내용은 적지 않겠습니다. [문제] [3, 0, 0, 2, 0, 4] [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1] [해설] 위와같이 빨간색으로 표시된 곳이 빌딩이고, 하늘색으로 채워지는 곳이 빗물이 담길 수 있는 공간이다. 빗물이 담길 수 있는 하늘색 공간의 총 합을 구하는 것이 문제이다. 처음에 고려했던 풀이는 효율성이 떨어지는 것 같아 힌트를 참고하여 풀었다. 1. 양 쪽 끝 인덱스에는 물이 찰 수 없으므로 제외하고 1번 index부터 end - 1 인덱스까지 고려한다. 2. 현 인덱스를 기준으로 왼쪽의 가장 큰 값과 오른쪽의 가장 큰 값을 저장한다. 3. 왼쪽 max값과 오른쪽 max값을 비교하여 더 작은 값을 빗물이 고일..