문제 https://school.programmers.co.kr/learn/courses/30/lessons/77484# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 맞힌 숫자를 제거 → 지워진 0의 개수와 맞히지 못한 숫자간의 최고로 맞힐 수 있는 경우의 수 확인 - high, low의 최고로 많이 맞힐 수 있는 숫자에 따라 결과를 hash map에서 선택하여 최종 반환 python def solution(lottos, win_nums): high, low = 0, 0 # 최대, 최소 맞힐 수 있는 번호 zero = lottos.count(0..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - Hash Map 으로 접근했다. 하드코딩으로 생성했는데 "조금 더 쉬운방법이 있지 않을까?" 하는 생각이 들었다. - 마지막에 int 형으로 반환하는 과정에서 조금 애먹었다. import copy def solution(s): # Hash Map 생성 data = {"zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 주어진 조건은 순서대로 코드를 작성했지만 조금 더 간단하게 만들 필요가 있다고 생각한다. def solution(n, lost, reserve): bucket = [1] * (n + 1) # 체육복이 1개씩 있다고 가정한다. bucket[0] = 0 # 번호는 1번부터 시작한다. #초기 세팅 for i in lost: bucket[i] -= 1 # 체육복이 없는 사람은 빼준다. for i..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 구현력 문제로 판단된다. - .isnumeric 함수를 유용하게 사용했다. # Single(S), Double(D), Triple(T) # 스타상(*), 아차상(#) def solution(dartResult): answer = [] data = list(dartResult) for i in range(len(data)): if data[i].isdigit() == True: # 받..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(numbers): index = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] answer = [] for number in index: if number not in numbers: answer.append(number) return sum(answer)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42889?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 실패한 stage에 있는 사람 수 만큼 다음 stage에 진출하는 사람이 적어진다. - 확률보다 순서대로 sort하는데 애먹었다. 값에 index를 부여하기 위해 2중 for문으로 만든 후 sort 작업을 진행했다. (lamda로 sort하는 방식은 자주 사용하지 않아 어색하다) - 런타임 에러가 발생했다. 만약 5 스테이지까지 있다고 가정했을 경우 4..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(absolutes, signs): answer = 0 for i in range(len(signs)):# False는 0이므로 -1로 바꿔줌 if signs[i] == False: signs[i] = -1 for i in range(len(absolutes)): answer += absolutes[i] * signs[i] return answer
문제 https://school.programmers.co.kr/learn/courses/30/lessons/70128?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 오늘의 연습문제 def solution(a, b): answer = 0 for i in range(len(a)): answer += (a[i] * b[i]) return answer
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - for문으로 확인 및 remove로 삭제해 남은 사람을 return - test case중 정확성 테스트는 모두 통과하였으나 효율성 테스트에서 모두 탈락하였다. - Hash를 사용해야 하는 것을 배우고 코드를 다시 적용하여 제출 및 성공했다. # 효율성 테스트를 통과하지 못한 코드 def solution(participant, completion): for person in comp..
문제https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr설계- bucket을 활용 pythondef solution(board, moves): answer = 0 bucket = [] for move in moves: for i in range(len(board)): if board[i][move-1] > 0: # index는 0부터 시작, 1을 빼준다. bucket.app..