페어프로그래밍4 [알고리즘] 프로그래머스 | 짝지어 제거하기 (페어) 짝지어 제거하기 답: 더보기 def solution(s): stack = [] for i in s: print(stack) if not stack: stack.append(i) elif stack[-1] != i: stack.append(i) else: #stack[-1] == i인 경우 stack.pop() return 0 if stack else 1 문제 분석 및 해석 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다 이 과정을 반복해 문자열을 모두 제거한다면 1, 아닐 경우 0을 리턴 >> 풀이생각 짝지어 제거하기에서 올바른괄호가 생각났다 stack을 사용해서 푸는 문제구나! >> 페어 풀이 지도 받음 스택에 없으면 스택에 추가(신병 받아라~.. 2023. 8. 31. [algorithm] 페어 - 프로그래머스: 나머지가 1인 수, 없는 숫자 더하기 답: 나머지가 1인 수 구하기 더보기 def solution(n): for x in range(1, n): if n % x == 1: return x 팀원들의 풀이 1) def solution(n): result = 2 while n%result != 1: if result > n/2: result = n-1 else: result += 1 return result >> 가장 작은 자연수를 확인하는 것이므로 n을 나누어줄 숫자의 앞쪽 반을 먼저 계산하도록 함 2) def solution(n): i = 2 while (n-1) % i: i += 1 return i >> 나머지가 1이므로 n-1이 딱 맞아떨어지는 1를 계산하기 문제 분석 및 해석 자연수 n, n을 나누었을때 1이되도록하는 가장 작은 자연수 .. 2023. 5. 1. [algorithm] 페어 - 프로그래머스: 로그인 성공?, n의 배수 고르기 답: 더보기 로그인 성공 #for문을 2번 쓰는 문제가 있지만 새로운 방식이라서 기록 def solution(id_pw, db): for i in db: if i == id_pw: return "login" for i in db: if i[1] != id_pw[1]: return "wrong pw" else: return 'fail' n의 배수 고르기 def solution(n, numlist): for num in numlist: if num % n == 0: answer.append(num) return answer -> 한 줄의 마법.. def solution(n, numlist): answer = [num for num in numlist if num % n == 0] return answer >.. 2023. 4. 25. [algorithm] 페어 - 프로그래머스: 비밀지도 (팀원 풀이 해석) 답: 더보기 def solution(n, arr1, arr2): answer = 0 result = [] for i in range(0, len(arr1)): # n을 넣어도 될듯 +1해서? result.append(bin(arr1[i] | arr2[i])[2:]) for i in range(len(result)): if len(result[i]) < n: result[i] = result[i].replace('1','#') result[i] = result[i].replace('0',' ') return answer 프로그래머스 1단계 비밀지도. 문제를 함께 리딩하고 필요한 정보를 정리한 후 요청에 따라 풀이과정 시연 and 시간제한을 두고 코드짜기 시간을 가져보았다. 문제 분석 및 풀이 과정 관전 이.. 2023. 4. 19. 이전 1 다음