전체 글

전체 글

    [프로그래머스] 신규 아이디 추천 / 파이썬 / python / 2021 KAKAO BLIND RECRUITMENT

    💡solutions ) 💬 총 7단계까지 주어진 조건을 모두 구현하면 되는 시뮬레이션 문제다. 💬 해당 문제를 풀 때 주의해야 할 점은 문자를 제거하거나 슬라이싱할 때 문자열(해당 문제풀이에선 문자를 리스트에 저장하여 사용했음) 길이가 0이 아닌지, 인덱스 에러가 나지 않는지 확인해야 하는 것이다. 👨‍💻code ) def solution(new_id): # 1단계 new_id = new_id.lower() # 2,3단계 id_list = [] for i in new_id: if i.isalnum() or i in ['-', '_', '.']: if id_list: if i == '.' and id_list[-1] == '.': continue id_list.append(i) # 4단계 if id_lis..

    [프로그래머스] 위클리챌린지 / 1주차 / 부족한 금액 계산하기 / 파이썬 / python

    💡solutions ) 💬 while 반복문을 돌며 해당 카운트별 이용료를 더해주고 마지막에 가지고 있는 money와 금액을 비교한다. 👨‍💻code ) def solution(price, money, count): required_money = 0 current_count = 1 while current_count money else 0 📌description ) 코딩테스트 연습 - 1주차_부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기..

    [백준] 2979번 / 트럭 주차 / 파이썬 / Python

    👨‍💻code ) from abc import ABCMeta import sys input = sys.stdin.readline a, b, c = map(int, input().rstrip().split(' ')) time_table = [0]*101 for i in range(3): arrive, depart = map(int, input().rstrip().split(' ')) for j in range(arrive-1,depart-1): time_table[j] += 1 answer = 0 for k in time_table: if k == 1: answer += a*k elif k == 2: answer += b*k elif k == 3: answer += c*k print(answer) 📌des..

    [백준] 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

    [프로그래머스] 모의고사 / 파이썬 / 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: ..

    [프로그래머스] 행렬 테두리 회전하기 / 파이썬 / 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 =..

    [프로그래머스] 파일명 정렬 / 파이썬 / 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 =..

    [프로그래머스] 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 ..