programers 35

[programers] 프로그래머스(파이썬) : 신고 결과 받기

문제 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 알고리즘 - 딕셔너리 형으로 신고받은 사람을 카운트한다. - 신고받은 사람의 횟수가 k개 이상일 경우 신고 한 사람을 카운트한다. 코드 def solution(id_list, report, k): id_dict = {i: 0 for i in id_list} report = list(set(report)) for i in range(len(report)): a, b = report[i].split(" ") id_dict[b] += 1 temp = []..

[programers] 프로그래머스(파이썬) : 다단계 칫솔 판매

문제 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 알고리즘 - 조직 구성원과 추천인을 딕셔너리형으로 만든다. - 조직 구성원과 구성원들의 이익금을 딕셔너리형으로 만든다. - 반복문을 통해 판매원을 확인한다. - 확인 중인 판매원의 판매 금액을 가지고 반복문을 통해 그 판매원의 추천인을 확인한다. - 현재 판매 금액이 10원보다 적다면 현재 조직 구성원에게 돈을 다 주고 반복을 멈춘다. - 현재 판매 금액이 10원보다 크다면 판매금액에 10%를 제외하고 현재 조직 구성원에게 돈을 준다. - 현재 조직 ..

[programers] 프로그래머스 카카오(파이썬) : [1차] 다트 게임

문제 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 알고리즘 - 계산하기 편하게 하기 위해 "10"을 "A"로 변환한다. - 'S', 'D', 'T'를 리스트에 넣어 각 인덱스 + 1 만큼 제곱할 수 있게 설계한다. - 초기 시작 값을 설정하는데 'A'라면 10으로 초기화하고 그 외 문자라면 int()로 변환하여 초기화한다. - 반복문을 통해 문자를 확인한다. - 문자가 sdt에 포함되어 있다면 현재 수를 인덱스 +1만큼 제곱한다. - 문자가 "*"이라면 현재 수를 두배 해주고 이전에 수가 있다면 이전 수도 두배 해준다. - 문자가 "#"라면 현재 수를 -해준다. - 그 외 문자라면 숫자인 것으로 게임 한판이 끝난 것이다. - 총점수를 answer에 추가해주고 다음 게임의 초기 ..

[programers] 프로그래머스 카카오(파이썬) : [3차] n진수 게임

문제 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 알고리즘 - 반복문을 통해 모든 인원이 미리 구해야 하는 숫자를 n진수로 변환한다. - while문을 통해 i를 n진수로 변환하고 변환한 수를 data에서 뽑아 temp에 추가한다. - 변환한 진수는 reversed를 통해 거꾸로 바꿔야 비로소 우리가 원하는 진수가 된다. - 변환한 진수는 answer에 더하고 필요한 수만큼 나눠 리턴한다. 코드 def solution(n, t, m, p): answer = '0' data = ["0", "..

[programers] 프로그래머스 카카오(파이썬) : [1차] 비밀지도

문제 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 알고리즘 - 두 개의 지도의 10진수를 2진수 n자리로 변환한다. - 반복문을 통해 지도의 각 자리를 비교한다. - 비교 과정에서 각 자리의 수를 더하고, 0보다 크다면 그 자리는 벽이 되고 0이라면 그 자리는 공백이 된다. - 지도의 모든 자리를 확인 후 해독한 암호 지도를 리턴한다. 코드 def solution(n, arr1, arr2): answer = [] temp1 = [format(i, 'b').zfill(n) for i in arr1] ..