본문 바로가기

분류 전체보기196

2019 KAKAO BLIND RECRUITMENT > 실패율 -Python, 딕셔너리 정렬 주소  풀이 - 나의 생각스테이지별 실패자 수를 세고 실패율을 구한다. 실패율은 스테이지 실패자가 0인 경우에는 0으로 넣어주면 되고 그 외에는, 스테이지별 실패자를 나머지 사용자로 나눠주면 된다. 이 나머지 사용자는 처음에는 stages의 길이로 시작해서 실패자 수를 빼가면 된다. 처음에는 stage_cnt[idx:]로 구했는데 이럴경우 매번 합을 다시 구해야하기에 누적합 방식으로 바꿨다. 그 후에는 실패율 구한 걸 value 기준으로 정렬해서 key 값을 반환해주면 끝난다. 반환하는 방식이 1. 명시적으로 value값으로 정렬 후, key값으로 정렬 # 실패율 기준 정렬 (내림차순), 실패율이 같으면 스테이지 번호 기준 오름차순sorted_stages = sorted(fail_rates.items().. 2024. 11. 16.
Summer/Winter Coding(~2018) > 예산 - Python, 바다코끼리 연산자(Walrus Operator) https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각정렬된 리스트를 돌면서 예산에서 부서별 요청 금액을 빼가면서 세주면 됩니다. "바다코끼리 연산자"(Walrus Operator)라는 것을 처음 알게 되었습니다. 이것을 사용하니 코드가 확 줄어들었네요. 바다코끼리 연산자란 값을 변수에 할당하면서 동시에 표현식에서 사용할 수 있게 하는 연산자입니다 사용법은 여러 사례가 있습니다. 1. 반복문에서 조건과 값을 한번에 처리하기# 바다코끼리 연산자 사용 전data = input(".. 2024. 11. 16.
코테 언어 자바에서 파이썬으로 바꾸는 중 IBK 기업은행 필기를 푸는데 전공부분에서 파이썬 문제가 엄청 나오기도 하고, 파이썬을 추천하는 사람이 많아서 코테 언어를 바꿔보는 중이다. 60문제 넘게 풀어보면서 느낀건데 진짜 친절한 언어라는게 느껴진다. 비전공자들에게 파이썬을 추천하는 이유를 잘 알겠다. 이런거까지 그냥 해준다고? 생각이 절로 든다. 문제를 풀면서 느낀게 자바의 경우 이걸 어떻게 풀어야 할까? 였으면 파이썬은 이런게 있나?를 먼저 생각하는 것 같다. 아무튼 빨리 더 능숙해져서 코테를 수월하게 넘겼으면 좋겠다. 2024. 11. 16.
2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 - Python, defaultdict, set, defaultdict 없이 초기화하기 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각한 유저가 여러명을 신고 할 수 있지만 중복으로 신고는 못합니다. 그래서 신고자별 신고 대상자를 set으로 중복 제거하면서 dict로 저장합니다. 그 dict를 이용해서 신고 횟수를 세고 그 신고 횟수가 k개 이상이면 카운트를 세주면 됩니다.  user_list를 참고하여 dict에 유저명과 위치를 기록합니다. #defaultdict not useuserIndex = {user:idx for idx, user for enu.. 2024. 11. 16.
다른 사람의 풀이 - Python, set, ascii_lowercase https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각 a ~ z까지의 값을 구하는 방법은 두가지가 있습니다. 1. 아스키값으로 구하기 2. string.ascii_lowrcase 사용하기  1. 아스키값으로 구하기 소문자 a의 아스키코드는 97, z는 122입니다. 그래서 97부터 122까지의 돌면서 리스트에 저장하면 a ~ z까지를 구할 수 있습니다.  2. string.ascii_lowercase 사용하기 단순합니다. from string import ascii_low.. 2024. 11. 15.
대충 만든 자판 -Python, defaultdict, 구현 https://school.programmers.co.kr/learn/courses/30/lessons/160586?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각알파벳 별 최소 누르는 횟수를 미리 구한 후 정답을 구해주면 됩니다. 코드 from collections import defaultdictdef solution(keymap, targets): answer = [] dit = defaultdict(lambda: float('inf')) for key in keymap: for idx, char in enumerat.. 2024. 11. 15.