728x90
데일리 알고리즘 230117
프로그래머스, 푸드 파이트 대회
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📄 나의 코드1
def solution(food):
answer = ''
for i in range(0,len(food)):
for j in range(food[i]//2):
answer += str(i)
answer += "0"
for i in range(len(food)-1,0,-1):
for j in range(food[i]//2):
answer += str(i)
return answer
print("result : ", solution([1, 3, 4, 6]))
print("result : ", solution([1, 7, 1, 2]))
↓
def solution(food):
answer = ''
for i in range(0,len(food)):
for j in range(food[i]//2):
answer += str(i)
rev = answer[::-1]
answer += "0"
answer += rev
return answer
반복되는 코드가 있어 이를 해결하고자 list를 reverse하는걸 생각하게 됨.
📄 나의 코드2
큐 이용
def solution(food):
queue = [0]
for i in range(len(food)-1,0,-1):
for j in range(food[i]//2):
if(food[i]//2!=0):
queue.insert(0, i)
queue.append(i)
result = ""
for e in queue:
result += str(e)
return result
문제를 보자마자 큐 자료구조를 이용하면 될 것 같다고 생각!
하지만 list로도 풀릴것같아 list 사용해 풀어보고 queue도 사용해 봤다.
'알고리즘' 카테고리의 다른 글
데일리 알고리즘 230118 (0) | 2023.01.18 |
---|---|
DP, Dynaminc Programming (0) | 2023.01.17 |
데일리 알고리즘 230116 (0) | 2023.01.16 |
데일리 알고리즘 230113 (0) | 2023.01.13 |
자료구조 4주차 _ DFS & BFS (0) | 2023.01.12 |