알고리즘135 [Python] 백준 10815번 : 숫자 카드 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 풀이 기본적인 이분 탐색 문제이다. 값을 입력받고 출력만 잘하면 된다. 느낀 점 파이썬이 아니였다면 입력 값의 범위 때문에 다소 어려웠을 것 같다. 파이썬 최고다... 코드 from sys import stdin def binary(arr, left, right, key): while left arr[mid]: left = mid + 1 elif key < ar.. 2022. 6. 22. [Python] 백준 2108번 : 통계학 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제 풀이 수학적인 능력을 물어보는 구현 문제이다. 문제에서 물어보는 대로 따라가면 된다. 산술평균 : n개의 수를 합 합해서 n으로 나눈 뒤 반올림하면 된다. statistics 라이브러리에 있는 mean() 함수를 써도 상관은 없는데 오히려 메모리와 시간을 잡아먹는다. 중앙값 : n이 무조건 홀수로 주어지기 때문에 (n+1)/2 -1 이 무조건 중앙값이다! 최빈값 : 빈도를 따지기 위해서 딕셔너리를 사용했다.. 2022. 6. 21. [Python] 백준 14501번 : 퇴사 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제 풀이 전형적인 DP 문제이다. DP 문제를 해결할 때에는 점화식이 중요하다. 이 문제는 점화식 자체는 단순하다. DP[i]는 i 번째 날에 최대 금액이다. 점화식은 일을 받았을 때, 일을 해결한 날의 DP 값과 받기 전 날 DP 값과 받은 일의 금액의 합을 비교해야 한다. 이 문제는 몇 가지 센스를 요구한다고 생각하는데 첫 번째는 DP 리스트의 크기이다. 최대 걸리는 기간은 5일이므로 DP는 n+5 크기를 가져야 한다. 두 번째는 상담 처리에 대한 것이다. n일에 3일이 걸리는 일을 시작했을 때, n+3일째에 새로운 일을 받을 .. 2022. 6. 21. [Python] 프로그래머스 : 크레인 인형뽑기 게임 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제 풀이 간단한 구현 문제였다. 이동할 곳 위에서부터 차례대로 확인한다. 0일 때는 빈 공간이므로 continue를 이용해 다음으로 넘어간다. 값이 존재할 때 공간을 빈칸으로 바꾸어주고 넘어간다. 스택의 top과 board의 값과 비교해서 지우거나 쌓아준다. 느낀 점 어렵지 않은 문제였다! 이런 구현 문제는 재밌는 것 같다. 코드 def solution(board, moves): ans.. 2022. 6. 21. [Python] 프로그래머스 : 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제 풀이 문제에서 요구하는대로 그대로 따라 하면 된다. 정규식을 이용해서 푸는게 깔끔해서 정규식을 이용했다. 느낀 점 파이썬의 큰 매력이 정규식에 있는 것 같다. 코드가 아주 직관적이고 예뻐졌다. 6단계에서 글자의 길이가 16 이상일 때 조건이 있는데 뭐가 되었든 처음부터 15글자를 가져오면 되니 조건을 줄여서 코드를 간략하게 바꾸었다. 파이썬이 아직 .. 2022. 6. 19. [Python] 백준 1026번 : 보물 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 문제 풀이 간단한 그리디 알고리즘이었다. 두 번째 배열은 재배열하지 말라고 했지만 문제에서 요구하는 것은 단순히 더한 최솟값! 따라서 하나는 내림차순 하나는 올림차순으로 정렬해 곱한 값을 더해준 것이 최솟값이다. 느낀 점 정렬 문제 풀어보려고 했다가 빠르게 풀었다! 코드 num = int(input()) a = list(map(int, input().split())) b = list(map.. 2022. 6. 18. 이전 1 ··· 19 20 21 22 23 다음