프로그래머스 118

프로그래머스(Python) 12905번 가장 큰 정사각형 찾기 풀이

Python으로 구현한 12905번 가장 큰 정사각형 찾기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr import itertools def solution(board) : for i in range(1, len(board)) : for j in range(1, len(board[0])) : if board[i][j] == 1 : board[i][j] = min(board[i-1][j], board[i][j-1], board[i-1][j-1]) + 1 return max(iter..

프로그래머스(Python) 17686번 [3차] 파일명 정렬 풀이

Python으로 구현한 17686번 [3차] 파일명 정렬 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr def solution(files) : answer = [] for file in files : head, number, tail = '', '', '' check = False for i in range(len(file)) : if file[i].isdigit() : numb..

프로그래머스(Python) 17687번 [3차] n진수 게임 풀이

Python으로 구현한 17687번 [3차] n진수 게임 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr def solution(n, t, m, p) : answer = '' str_value = '' data = dict() for i in range(10) : data[i] = str(i) data[10] = 'A' data[11] = 'B' data[12] = 'C' d..

프로그래머스(Python) 12909번 올바른 괄호 풀이

Python으로 구현한 12909번 올바른 괄호 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12909 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr def solution(s) : left = [] open = s.count('(') close = s.count(')') if open != close : return False for i in range(len(s)) : if s[i] == '(' ..

프로그래머스(Python) 12911번 다음 큰 숫자 풀이

Python으로 구현한 12911번 다음 큰 숫자 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr def solution(n) : temp = n + 1 while True : if str(bin(temp)[2:]).count('1') == str(bin(n)[2:]).count('1') : return temp temp += 1 1. n+1을 temp의 가장..

프로그래머스(Python) 12913번 땅따먹기 풀이

Python으로 구현한 12913번 땅따먹기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr def solution(land): dp = [[0 for _ in range(len(land[0]))] for _ in range(len(land))] for i in range(len(land)) : for j in range(4) : if i == 0 : dp[i][j] = ..

프로그래머스(Python) 12924번 숫자의 표현 풀이

Python으로 구현한 12924번 숫자의 표현 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr def solution(n) : answer = 0 for i in range(1, n // 2 + 1) : sum_value = 0 for j in range(i, n + 1) : sum_value += j if sum_value == n : answer += 1 break ..

프로그래머스(Python) 12941번 최솟값 만들기 풀이

Python으로 구현한 12941번 최솟값 만들기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr def solution(A, B) : answer = 0 A.sort() B.sort(reverse=True) for i in range(len(A)) : answer += A[i] * B[i] return answer 1. 전달받은 A 리스트를 오름차순으로 정렬하고, B ..

프로그래머스(Python) 76502번 괄호 회전하기 풀이

Python으로 구현한 76502번 순위 검색 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr def solution(s) : answer = 0 temp = [i for i in s] for i in range(len(temp)) : temp.append(temp.pop(0)) left = [] cnt = len(temp) for j in temp : cnt -= 1 if j == "[" or j == "(" or j == "{" : # 여는 괄호를 left에 삽입 left.append(j) elif j == "}" : # 닫는 괄호일 경우 left에서 꺼내 확인 i..

프로그래머스(Python) 12985번 예상 대진표 풀이

Python으로 구현한 12985번 예상 대진표 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr def solution(n, a, b) : answer = 0 while a != b : a = (a + 1) // 2 b = (b + 1) // 2 answer += 1 return answer 1. a와 b의 값이 같아질 때까지 아래와 같은 작업을 반복한다. - 현재의..