알고리즘 풀이79 [프로그래머스] 연습, Python | 두 개 뽑아서 더하기 두 개 뽑아서 더하기 답: 더보기 def solution(numbers): answer = [] while numbers: now = numbers.pop() for n in numbers: answer.append((now + n)) return sorted(list(set(answer))) # 여기 주의 def solution(numbers): answer = [] while numbers: now = numbers.pop() for n in numbers: r = now + n if r in answer: continue else: answer.append(r) return sorted(answer) 문제 분석 및 해석 정수 배열 numbers가 주어질 때 numbers내 서로 다른 인덱스에 있는 .. 2024. 3. 8. [알고리즘] 프로그래머스 lv.1 | 붕대 감기 붕대 감기 답: 더보기 def solution(bandage, health, attacks): t, x, y = bandage hp = health 이전공격시간 = 0 for attack in attacks: 공격시간, 피해량 = attack 스킬시전시간 = (공격시간 - 이전공격시간) 시간 = 1 연속성공 = 0 if 스킬시전시간 > 1: while 시간 = t: hp += y 연속성공 = 0 if hp >= health: hp = health 시간 += 1 print(시간, hp, 연속성공) hp -= 피해량 if hp > 풀이생각 1) 이전공격시간을 선언, for문 끝날때 저장하고, 스킬시전시간을 계산 이전공격시간 .. 2024. 2. 13. [알고리즘] 프로그래머스 | 가장 가까운 같은 글자 가장 가까운 같은 글자 답: 더보기 def solution(s): answer = [] a_dic = {} for i, alpha in enumerate(list(s)): if not alpha in a_dic: answer.append(-1) else: answer.append(i - a_dic[alpha]) a_dic[alpha] = i return answer 문제 분석 및 해석 문자열 s가 주어질 때 s의 알파벳이 처음 나왔을때는 -1, 이전에 있었던 알파벳이면 index의 차이를 배열에 더해 return하는 문제 >> 풀이생각 1. stack을 쌓기, stack에 없으면 -1 2. -1번에 있으면 1 -2번에 있으면 2... while문으로 처리해보자 단점 : >> if not 요소 in sta.. 2023. 11. 7. [알고리즘] 프로그래머스 | 대충 만든 자판, 추억 점수 추억 점수 답: 더보기 def solution(name, yearning, photo): answer = [0] * len(photo) yearn = {} for k, v in zip(name, yearning): yearn[k] = v for i, p in enumerate(photo): for name in p: if name in yearn: answer[i] += yearn[name] return answer 문제 분석 및 해석 각각의 사람마다 추억 점수가 있다. 사진에는 여러 사람이 들어가 있는데, name 과 yearning을 바탕으로 각 photo의 추억점수를 계산하고자 한다 입력 name 이름이 담긴 배열 yearning 추억점수가 담긴 배열 - name과 yearning의 길이는 동일 p.. 2023. 11. 6. 이전 1 2 3 4 ··· 20 다음