목록Algorithm/Programmers (76)
S E P H ' S
코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 문제 보기 더보기 SK C&C 코테전에 이 문제를 봤더라면.. 풀었을 수 있었을 것 같다. 파이썬 정렬이 아직도 익숙치 않은걸 보니 더 많이 경험을 쌓아야 할 것 같다. 풀이 1. head, number, tail 세 부분으로 나눠지는 기준은 1-1. number가 나오기 전 까진 head이다. 1-2. number 뒤에 바로 숫자가 나오면 아직 number이다. tail에서 숫자가 나올 수도 있다고 했지만 적어도 문자나 공백 뒤에 올 것임. 2. 1..
코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 풀이 1. 3진법 풀이로 풀었다. 2. 다만 124중에서 반환하게 하였음. def sol(n): if n
코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 풀이 1. numbers로 만들 수 있는 모든 숫자를 만든다. 2. 순서에 따라 다른 숫자가 되기 때문에 순열을 사용한다. 3. 만들어진 모든 수가 소수인지 판별하고 카운트 한다. from itertools import permutations as perm def solution(numbers): def isPrime(n): if n in (0,1): return False else: for i in range(2, int(n**0.5)+1): i..
코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 풀이 1. 동적계획법(DP)로 풀이 2. 반복문을 통한 완전탐색으로 풀이하기엔 시간복잡도에서 막힌다. (행 : 1,000 열: 1,000) 3. 정사각형이 가능한 최소 변의 길이 2만큼부터 파악. 4. dp 배열에 board의 첫번째 행렬을 넣고 대각선 인덱스에서부터 파악해 나간다. 5. 세 값을 비교해 최솟값에 +1을 해나가고 6. 가장 큰 값의 제곱을 리턴 def solution(board): n = len(board) m = len(board[0]) dp = [[0] * m for _ in range(n)] dp[0] = board[0] for i..