https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 풀이 일단 딱 봐도 효율성 문제 때문에 통과 안될거 알지만 이중 loop로 전화번호를 대조하는 방법으로 풀어봤다 def solution(phone_book): answer = True # 이중 loop로 비교 for i in range(len(phone_book)): for j in range(i+1, len(phone_book)): if phone_book[i] in phone_book[j..
코딩 테스트/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 일단 문제가 엄청 어렵다............. 으음....... 솔직히 너무 어려워서 참고안하고서 못풀었다... 검색해보니 그냥 큐(Queue)나 우선순위큐(Priority Queue)를 사용하면 된다고 한다. 그래서 deque를 이요하면 쉽게 풀 수 있다고한다. 1차 풀이 deque를 이용해서 FIFO 형식으로 풀었다 그리고 튜플을 이용해서 처음 위치를 저장시켰다! from collection..
https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 풀이 일단 함수를 통해 입력 문자열을 2개씩 나누어서 리스트에 저장했다 그 후 set 함수를 통해 교집합, 합집합을 구할려 했다 거의 다 풀었는데 이렇게 풀면 안된다는 것을 깨달았다..... 이 문제에서는 set 함수를 통해 중복을 제거하면 안된다 왜냐믄 A = ['aa', 'aa'] 와 B = ['aa', 'aa', 'aa'] 가 있을 경우에는 set 함수를 사용하면 교집합은 ['aa'] ..
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Hash 형식으로 풀었다 너무 어려웠다........ 마지막에 옷 조합을 생각하는게 힘들었다. 힌트를 보고 말았다.. 근데 안보고 했으면 못 풀었을듯 사실상 조합은 수학문제 같다 옷을 입을 경우, 안 입을 경우 두가지를 생각하는게 중요했다. 예를 들어 모자와 안경 두가지의 종류가 있을 경우의 수 (모자, 안경) (0, 0) (1, 0) (0, 1) (1, 1) 총 4 가지 인데 둘다 안입었을..
https://school.programmers.co.kr/learn/courses/30/lessons/42586# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Quene 형식으로 풀었다 이번 문제는 쉬웠다! def solution(progresses, speeds): answer = [] while True: for i in range(len(progresses)): progresses[i] += speeds[i] count = 0 if progresses[0] >= 100: while progresses[0] >= 100: progresses...
https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (1차 시도) 효율성 문제 때문에 어려운거 같다. def solution(n, left, right): # n x n 배열 # 1 2 3 4 # 2 2 3 4 [1, 0] # 3 3 3 4 [2, 0] [2, 1] # 4 4 4 4 [3, 0] [3, 1] [3, 2] # 2차원 배열 선언하기 array = [[0 for j in range(n)] for i in range(n)] for i..
https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열을 회전 시킬 때는 for문으로 queue 방식으로 회전 시켜 주었다. 그리고 규칙에 맞는 괄호를 찾는 방식으로는 stack 방식을 사용했다. 마지막으로 dictionary를 선언해서 괄호의 짝에 맞게 정의를 해주었다. def solution(s): count = 0 stack = [] Dict = {'{' : '}', '[' : ']', '(' : ')'} saveValue = "" ..
https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 한번에 풀긴 했지만 약간 너무 막 쓴 코드인거같다.... 다른 사람들 적은거 보면 엄청 짧게 가능하기도 하다. def solution(s): answer = [] stack = [] s = s[1:-1] for i in s: if i == '{': continue elif i == '}': stack = list(map(int, stack)) # 리스트의 모든 string 요소를 int로 바..