Algorithm/Problem Solving 155

[프로그래머스/Programmers] 두 개 뽑아서 더하기

두 개 뽑아서 더하기 📝문제 👨‍💻코드 def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i + 1, len(numbers)): if numbers[i] + numbers[j] in answer: continue else: answer.append(numbers[i] + numbers[j]) answer.sort() return answer 🤔Review 처음엔 조합을 써서 문제를 풀려고 했는데 numbers의 범위가 100밖에 되지않아서 완전탐색으로 문제를 풀었다.

[프로그래머스/Programmers] 문자열 내 p와 y의 개수

문자열 내 p와 y의 개수 📝문제 👨‍💻코드 def solution(s): arr = list(s) pCount = 0 yCount = 0 for i in arr: if i == 'P' or i == 'p': pCount += 1 if i == 'Y' or i == 'y': yCount += 1 if pCount == 0 and yCount == 0: answer = True else: if pCount == yCount: answer = True if pCount != yCount: answer = False return answer 🤔Review 간단한 문자열 문제이다. p와 y의 개수를 간단하게 구한 뒤 비교하면 된다.

[프로그래머스/Programmers] [1차] 비밀지도

[1차] 비밀지도 📝문제 👨‍💻코드 def solution(n, arr1, arr2): answer = [] graph1 = [] graph2 = [] result = [] for i in arr1: graph1.append(list(format(i, 'b').zfill(n))) for i in arr2: graph2.append(list(format(i, 'b').zfill(n))) for i in range(n): for j in range(n): if graph1[i][j] == "0" and graph2[i][j] == "0": answer.append(' ') else: answer.append('#') for i in range(0, len(answer), n): result.append(''..

[프로그래머스/Programmers] 실패율

실패율 📝문제 👨‍💻코드 def solution(N, stages): answer = [] score = [] R = len(stages) for i in range(1, N + 1): if R != 0: count = stages.count(i) score.append((i, count / R)) R -= count else: score.append((i, 0)) score = sorted(score, key=lambda x: (-x[1], x[0])) for i in range(len(score)): answer.append(score[i][0]) return answer 🤔Review score에 점수별로 실패율을 저장하였다. 튜플 형식으로 했는데 생각해보니 내가 수동으로 딕셔너리를 만든것이다.....

[프로그래머스/Programmers] 같은 숫자는 싫어

같은 숫자는 싫어 📝문제 👨‍💻코드 def solution(arr): answer = [] answer.append(arr[0]) for i in range(1, len(arr)): if arr[i] == arr[i - 1]: continue else: answer.append(arr[i]) return answer 🤔Review 처음엔 set을 이용해서 풀려고 했는데 문제가 완전 다른 문제였고 간단히 answer에 넣으려고 하는 숫자와 그 전에 있던 숫자가 같으면 continue를 통해 넘어가고, 아닐 경우 answer에 넣는 방식으로 문제를 풀었다.