분류 전체보기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr첫 번째 접근: deque()from collections import dequedef solution(queue1, queue2): queue1, queue2 = deque(queue1), deque(queue2) sum1, sum2 = sum(queue1), sum(queue2) target = (sum1 + sum2) // 2 if (sum1 + sum2) % 2 != 0: return -1 cnt = 0 max_cnt = len(queue1) * 3..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef create_matrix(rows, columns): return [[row * columns + col + 1 for col in range(columns)] for row in range(rows)]def rotate(matrix, x1, y1, x2, y2): min_value = float('inf') prev = matrix[x1][y1] for y in range(y1, y2): current = matrix[x1][y+1] matrix[x1]..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef calculate_play_time(start, end): start_h, start_m = map(int, start.split(':')) end_h, end_m = map(int, end.split(':')) return (end_h - start_h) * 60 + (end_m - start_m) def convert_sharps(melody): return (melody .replace('A#', 'a') .replace('B#', 'b..
👉🏻 25329번: 학생별 통화 요금 계산info = {}for _ in range(int(input())): time, name = input().split() hour, minute = map(int, time.split(':')) total_minute = hour * 60 + minute info[name] = info.get(name, 0) + total_minutefor name in info: if info[name] get() 함수에 default 값을 부여하여 dict를 초기화하는 방법은 정말 유용한 것 같습니다. ㅎㅎ다른 것들은 무리가 없었는데 info를 정렬할 때 요금은 내림차순으로, 이름은 오름차순으로 정렬을 해야했기에 고민을 꽤나 했습니다. 만약, 정..
👉🏻 2740번: 행렬 곱셈n, m = map(int, input().split())matrix = [list(map(int, input().split())) for _ in range(n)]m, k = map(int, input().split())matrix2 = [list(map(int, input().split())) for _ in range(m)]for i in range(n): for j in range(k): result = 0 for x in range(m): result += matrix[i][x] * matrix2[x][j] print(result, end=' ') print()기본적인 행렬 곱셈 연산을 안다면 충분..
👉🏻 27961번: 고양이는 많을수록 좋다n = int(input())cat = 1cnt = 0if n == 0 or n == 1: cnt = n print(cnt)else: while cat != n: if cat >= n - cat: cat += n - cat cnt += 1 else: cat += cat cnt += 1 print(cnt + 1)단순 그리디 문제로 현재 고양이 수에 따라 while문 내에서 더하는 수를 조절하며 카운트를 늘려주기만 하면 되는 간단한 문제였습니다!
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krimport heapqdef solution(N, road, K): def dijkstra(): heap = [] heapq.heappush(heap, (start, 0)) costs[start] = 0 while heap: node, cost = heapq.heappop(heap) if costs[node] 전형적인 Dijkstra 알고리즘 문제입니다.구조만 외워두면 음의 간선을 포함하지 않는 가중..
👉🏻 27648번: 증가 배열 만들기n, m, k = map(int, input().split())if k >= n + m - 1: print('YES\n') for i in range(n): for j in range(m): print(f'{i+j+1} ' if i+j+1 사실 'YES', 'NO'를 판단하는 과정은 쉬운 문제입니다. k가 배열의 크기에 미치지 않을 경우에는 'NO'를 출력하면 됩니다.문제의 관건은 배열을 출력하는 데에 있는데, 이같은 경우에도 k를 넘지 않는 선에서 각 인덱스를 출력해주면 끝!
ReJoy
'분류 전체보기' 카테고리의 글 목록 (12 Page)