문제 https://school.programmers.co.kr/learn/courses/30/lessons/81302#fn1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 5개의 대기실, 5*5의 크기가 고정되어 있기 때문에 dfs로 접근했다. (bfs로 접근한 풀이도 많았다) - P를 만날경우 P를 기준으로 거리 2 안에 다른 P가 있는지 확인, 벽과 책상 조건도 확인한다. - 벽으로 막혀있는 X의 경우에는 dfs를 더 깊이 들어가지 않기위해 조건에서 제외했다. - 중간에 res를 넣어 dfs를 진행중인데 조건을 지키지 않은 경우에도 retu..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 각 상자를 모두 묶음으로 분류한 후 묶음별 개수로 정렬한다. def solution(cards): visit = [0] * len(cards) cnt = 0 # 상자의 개수 box = [[]] for i in range(len(cards)): index = i while sum(visit) < len(cards): # 모든 상자를 분류 할때까지 확인 if visit[index] =..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 각 배열의 모든 숫자를 나눌 수 있는 가장 큰 수 = 최대 공약수 - 각 배열의 최대 공약수를 구한다 - 각 배열의 최대 공약수가 다른 배열을 나눌 수 없는지 검사 - 조건을 만족하는 최대 공약수 중 더 큰 값이 정답! # 2중 for문으로 구현했으나 시간초과로 통과하지 못했다. def cal(arrayA, arrayB): maxV = 0 for i in range(len(arra..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 설계처음에 문제를 잘 못 이해했었다. 기록된 가격보다 떨어지지 않은 경우가 총 몇초인지를 반환하는 줄 알았는데, 한 번이라도 가격이 떨어지면 끝이다. 자바스크립트function solution(prices) { let answer = []; for (let i = 0; i 파이썬- 2중 for문으로 가격이 떨어지는지 확인- 가격이 떨어진다면 break & bucket에 값 더하기def..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 설계- stack을 활용하여 비교했다.- 마지막에 stack의 값이 남아있다면 false 반환 파이썬def solution(s): stack = [] for next in s: if stack: # 스택이 있다면 if stack[-1] == next: # 마지막 스택과 비교 stack.pop() # 같으면 제거 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스트립트function solution(s){ let answer = 0; for (const bracket of s) { if (bracket === "(") { answer += 1 } else { answer -= 1 } // 닫는 문자가 더 많을 경우 false 반환 if (..