본문 바로가기

Algorithm144

[백준] 1173번 / 운동 / 파이썬 / Python 👨‍💻code ) import sys input = sys.stdin.readline N, m, M, T, R = map(int, input().split()) pulse = m time = 0 exercise = 0 while exercise M: time = -1 break time += 1 if pulse + T 2021. 10. 6.
[프로그래머스] 모의고사 / 파이썬 / Python 👨‍💻code ) def solution(answers): first = [1,2,3,4,5] second = [2,1,2,3,2,4,2,5] third = [3,3,1,1,2,2,4,4,5,5] res = [[1,0], [2,0], [3,0]] for i in range(len(answers)): if answers[i] == first[i % len(first)]: res[0][1] += 1 if answers[i] == second[i % len(second)]: res[1][1] += 1 if answers[i] == third[i % len(third)]: res[2][1] += 1 target, max_cnt = [], 0 for num, cnt in res: if cnt > max_cnt: .. 2021. 10. 5.
[프로그래머스] 행렬 테두리 회전하기 / 파이썬 / Python / 2021 Dev-Matching: 웹 백엔드 💡solutions ) 💬 정해진 행렬 범위의 맨 상단 오른쪽(a, b)에서 부터 시작해서 → ↓ ← ↑ 순으로 행렬 테두리를 회전한다. 💬 이전 값을 before에 저장해놓고 인덱스를 이동하며 행렬 테두리 안의 값들을 바꿔준다. 💬 이때 이동할 때마다 min()함수를 이용해서 행렬 테두리에 해당하는 값들 중 최소값을 판별한다. 👨‍💻code ) def solution(rows, columns, queries): arr = [[0]*columns for _ in range(rows)] num = 1 answer = [] for i in range(rows): for j in range(columns): arr[i][j] = num num += 1 for a,b,c,d in queries: before =.. 2021. 10. 2.
[프로그래머스] 파일명 정렬 / 파이썬 / python / 2018 KAKAO BLIND RECRUITMENT 💡solutions ) 💬 전형적인 문자열 문제로 먼저 정렬 기준인 head와 number로 분류하기 이때 tail은 정렬 기준에 해당 하지 않으니까 break 💬해당 문제에서 주어진 테스트케이스에선 걸리진 않았지만, 숫자의 경우 최대 다섯 자리로 이뤄져 있기 때문에 len(number)로 길이 체크해줘서 tail 부분에 있는 숫자가 number로 분류되지 않도록 조건 처리해줬다. 💬 정렬 순서대로 changed 배열에 담으며 이때 원래의 파일명을 함께 저장하여 마지막에 출력할 수 있도록 한다. 💬 정렬은 sort() 내장함수를 통해 정렬하였다. 👨‍💻code ) def solution(files): changed = [] idx = 0 for file in files: head = '' number =.. 2021. 9. 23.
[프로그래머스] n진수 게임 / 파이썬 / Python / 2018 KAKAO BLIND RECRUITMENT 💡solutions ) 💬 convert 함수를 구현하여 진수 변화하였음 -> 이때 재귀함수로 구현하는 경우가 많은데 여기선 while 반복문을 통해 구현하였음 이때 k가 0일 때를 고려하기 위해 res 문자열에 0을 초기값으로 넣어주고 시작하였음 👨‍💻code ) def convert(k, n): base = '' remain = '0123456789ABCDEF' while k > 0: k, mod = divmod(k, n) base += remain[mod] base = base[::-1] return base def solution(n, t, m, p): res = '0' for i in range(t*m): res += convert(i, n) cnt = 0 answer = '' for i in .. 2021. 9. 12.
[프로그래머스] 괄호 회전하기 / 파이썬 / Python / 월간코드챌린지 시즌2 💡solutions ) 💬 stack에 괄호를 하나씩 저장하며 올바른 괄호가 되는지 확인하는 로직 구현. 💬 오른쪽 괄호(닫는 괄호)가 나오면 stack에 이미 저장했던 마지막 -1번째 괄호와 짝이 맞는지 확인하며 올바른 괄호인지 판단. 💬 첫 번째 if 조건문에서는 stack이 비어있을 때 오른쪽 괄호(닫는 괄호)가 나오면 올바른 괄호 모양이 아니므로 바로 break하여 다음 케이스로 넘어감. 💬 처음에 테스트케이스 13번만 틀려서 질문하기를 참고하여음. {{{{{의 경우에 통과할 수 있도록 마지막 if 조건문에서 and not stack 조건을 넣어 stack이 최종적으로 비어 있는 경우에만 올바른 괄호로 카운트할 수 있도록 함. 👨‍💻code ) def solution(s): bracket_dict.. 2021. 9. 8.