본문 바로가기

Algorithm/프로그래머스101

[프로그래머스] - 캐시 (파이썬) from collections import deque def solution(cacheSize, cities): answer = 0 cache = deque() for city in cities: city = city.lower() if city in cache: answer += 1 for i in range(len(cache)): if cache[i] == city: cache.remove(city) break cache.append(city) else: answer += 5 if cacheSize != 0: if cache and len(cache) == cacheSize: cache.popleft() cache.append(city) return answer 2018 카카오 블라인드 1차 - 3번.. 2022. 1. 30.
[프로그래머스] - 다트 게임 (파이썬) def solution(dartResult): bonus = {'S': 1, 'D': 2, 'T': 3} option = ['*', '#'] dart = [] dartResult = dartResult.replace('10', 't') for i in range(len(dartResult)): if dartResult[i] == 't': dart.append('10') else: dart.append(dartResult[i]) result = [] number = 0 for x in dart: if x not in bonus and x not in option: result.append(number) number = 0 number += int(x) elif x in bonus: number = numb.. 2022. 1. 30.
[프로그래머스] - 비밀지도 (파이썬) def solution(n, arr1, arr2): answer = [] for i,j in zip(arr1,arr2): temp = bin(i|j)[2:] while len(temp) < n: temp = '0' + temp temp = temp.replace('0',' ') temp = temp.replace('1','#') answer.append(temp) return answer 2018 카카오 블라인드 1차 - 1번 1. arr1과 arr2를 비트연산자로 합해서 순수 2진수만 빼온다 (bin(i|j)[2:]) 2. n의 길이가 될 때 까지 앞의 빈공간에 '0'을 문자열에 더해준다 3. replace (0은 빈공간으로, 1은 #으로) 4. answer에 append 2022. 1. 30.